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>