Author: brett
Date: Fri Aug 25 20:59:13 2006
New Revision: 437071

URL: http://svn.apache.org/viewvc?rev=437071&view=rev
Log:
[MRM-138] make the proxy downloader thread-safe

Modified:
    
maven/archiva/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java
    
maven/archiva/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java
    
maven/archiva/trunk/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml

Modified: 
maven/archiva/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java?rev=437071&r1=437070&r2=437071&view=diff
==============================================================================
--- 
maven/archiva/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java
 (original)
+++ 
maven/archiva/trunk/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java
 Fri Aug 25 20:59:13 2006
@@ -36,11 +36,12 @@
 import java.util.Map;
 
 /**
- * Default implementation of the proxy manager that bridges the repository 
configuration classes to the proxy API.
+ * Default implementation of the proxy manager that bridges the repository 
configuration classes to the proxy API. This
+ * class is not thread safe (due to the request handler being a non-thread 
safe requirement).
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Brett Porter</a>
  * @todo we should be able to configure "views" that sit in front of this (ie, 
prefix = /legacy, appears as layout maven-1.x, path gets translated before 
being passed on)
- * @plexus.component
+ * @plexus.component instantiation-strategy="per-lookup"
  */
 public class DefaultProxyManager
     implements ProxyManager
@@ -64,12 +65,12 @@
     /**
      * The proxy groups for each managed repository.
      */
-    private Map/*<String,ProxiedRepositoryGroup>*/ proxyGroups;
+    private static Map/*<String,ProxiedRepositoryGroup>*/ proxyGroups;
 
     /**
      * The default proxy group/managed repository.
      */
-    private ProxiedRepositoryGroup defaultProxyGroup;
+    private static ProxiedRepositoryGroup defaultProxyGroup;
 
     public File get( String path )
         throws ProxyException, ResourceDoesNotExistException

Modified: 
maven/archiva/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java?rev=437071&r1=437070&r2=437071&view=diff
==============================================================================
--- 
maven/archiva/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java
 (original)
+++ 
maven/archiva/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java
 Fri Aug 25 20:59:13 2006
@@ -52,10 +52,11 @@
 import java.util.Map;
 
 /**
- * An implementation of the proxy handler.
+ * An implementation of the proxy handler. This class is not thread safe (the 
class itself is, but the wagons it uses
+ * are not) - it is declared <code>per-lookup</code> for that reason.
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Brett Porter</a>
- * @plexus.component
+ * @plexus.component instantiation-strategy="per-lookup"
  * @todo use wagonManager for cache use file:// as URL
  * @todo this currently duplicates a lot of the wagon manager, and doesn't do 
things like snapshot resolution, etc.
  * The checksum handling is inconsistent with that of the wagon manager.
@@ -81,11 +82,6 @@
      * @plexus.requirement role="org.apache.maven.wagon.Wagon"
      */
     private Map/*<String,Wagon>*/ wagons;
-
-    /**
-     * @plexus.requirement role="org.apache.maven.repository.digest.Digester"
-     */
-    private Map/*<String,Digester>*/ digesters;
 
     public File get( String path, List proxiedRepositories, ArtifactRepository 
managedRepository )
         throws ProxyException, ResourceDoesNotExistException

Modified: 
maven/archiva/trunk/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml
URL: 
http://svn.apache.org/viewvc/maven/archiva/trunk/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml?rev=437071&r1=437070&r2=437071&view=diff
==============================================================================
--- 
maven/archiva/trunk/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml
 (original)
+++ 
maven/archiva/trunk/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml
 Fri Aug 25 20:59:13 2006
@@ -30,17 +30,13 @@
         <appenders>
           <appender>
             <id>console</id>
-            <threshold>DEBUG</threshold>
+            <threshold>WARN</threshold>
             <type>org.apache.log4j.ConsoleAppender</type>
             <conversion-pattern>%d [%t] %-5p %-30c{1} - 
%m%n</conversion-pattern>
           </appender>
         </appenders>
         <levels>
           <level>
-            <hierarchy>org.codehaus.plexus.velocity</hierarchy>
-            <level>WARN</level>
-          </level>
-          <level>
             <hierarchy>org.codehaus.plexus.mailsender.MailSender</hierarchy>
             <level>INFO</level>
           </level>
@@ -55,6 +51,10 @@
           <level>
             <hierarchy>com.opensymphony.webwork</hierarchy>
             <level>INFO</level>
+          </level>
+          <level>
+            <hierarchy>org.apache.maven.repository</hierarchy>
+            <level>DEBUG</level>
           </level>
         </levels>
       </configuration>


Reply via email to