Author: olamy
Date: Tue Jun 21 22:14:17 2011
New Revision: 1138211

URL: http://svn.apache.org/viewvc?rev=1138211&view=rev
Log:
NexusRepositorySearch is not thread safe so use scope prototype

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java?rev=1138211&r1=1138210&r2=1138211&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-indexer/src/main/java/org/apache/archiva/indexer/search/NexusRepositorySearch.java
 Tue Jun 21 22:14:17 2011
@@ -36,6 +36,7 @@ import org.sonatype.nexus.index.FlatSear
 import org.sonatype.nexus.index.NexusIndexer;
 import org.sonatype.nexus.index.context.IndexingContext;
 import 
org.sonatype.nexus.index.context.UnsupportedExistingLuceneIndexException;
+import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Service;
 
 import javax.inject.Inject;
@@ -49,6 +50,7 @@ import java.util.Set;
  * RepositorySearch implementation which uses the Nexus Indexer for searching.
  */
 @Service( "nexusSearch" )
+@Scope("prototype")
 public class NexusRepositorySearch
     implements RepositorySearch
 {

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java?rev=1138211&r1=1138210&r2=1138211&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/SearchAction.java
 Tue Jun 21 22:14:17 2011
@@ -40,6 +40,7 @@ import org.springframework.stereotype.Co
 import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.context.support.WebApplicationContextUtils;
 
+import javax.inject.Inject;
 import java.net.MalformedURLException;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
@@ -107,6 +108,7 @@ public class SearchAction
 
     private boolean fromResultsPage;
 
+    @Inject
     private RepositorySearch nexusSearch;
 
     private Map<String, String> searchFields;
@@ -548,12 +550,11 @@ public class SearchAction
 
     public RepositorySearch getNexusSearch()
     {
-        // no need to do this when wiring is already in spring
         if ( nexusSearch == null )
         {
             WebApplicationContext wac = 
WebApplicationContextUtils.getRequiredWebApplicationContext(
                 ServletActionContext.getServletContext() );
-            nexusSearch = (RepositorySearch) wac.getBean( "nexusSearch" );
+            nexusSearch = wac.getBean( "nexusSearch", RepositorySearch.class );
         }
         return nexusSearch;
     }


Reply via email to