From 0ad46105485e6245f9b6ad71aa6bdefc732f5801 Mon Sep 17 00:00:00 2001 From: Brett Porter Date: Sat, 26 Aug 2006 03:59:13 +0000 Subject: [PATCH] [MRM-138] make the proxy downloader thread-safe git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@437071 13f79535-47bb-0310-9956-ffa450edef68 --- .../maven/repository/proxy/DefaultProxyManager.java | 9 +++++---- .../repository/proxy/DefaultProxyRequestHandler.java | 10 +++------- .../src/main/resources/META-INF/plexus/application.xml | 10 +++++----- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java b/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java index c0d78b41d..5389fe5c7 100644 --- a/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java +++ b/maven-repository-core/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java @@ -36,11 +36,12 @@ import java.util.List; 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 Brett Porter * @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 @@ public class DefaultProxyManager /** * The proxy groups for each managed repository. */ - private Map/**/ proxyGroups; + private static Map/**/ proxyGroups; /** * The default proxy group/managed repository. */ - private ProxiedRepositoryGroup defaultProxyGroup; + private static ProxiedRepositoryGroup defaultProxyGroup; public File get( String path ) throws ProxyException, ResourceDoesNotExistException diff --git a/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java b/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java index 1583bb73f..90a21726a 100644 --- a/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java +++ b/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyRequestHandler.java @@ -52,10 +52,11 @@ import java.util.List; 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 per-lookup for that reason. * * @author Brett Porter - * @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. @@ -82,11 +83,6 @@ public class DefaultProxyRequestHandler */ private Map/**/ wagons; - /** - * @plexus.requirement role="org.apache.maven.repository.digest.Digester" - */ - private Map/**/ digesters; - public File get( String path, List proxiedRepositories, ArtifactRepository managedRepository ) throws ProxyException, ResourceDoesNotExistException { diff --git a/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml b/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml index d16efcc31..ae6e1df45 100644 --- a/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml +++ b/maven-repository-webapp/src/main/resources/META-INF/plexus/application.xml @@ -30,16 +30,12 @@ console - DEBUG + WARN org.apache.log4j.ConsoleAppender %d [%t] %-5p %-30c{1} - %m%n - - org.codehaus.plexus.velocity - WARN - org.codehaus.plexus.mailsender.MailSender INFO @@ -56,6 +52,10 @@ com.opensymphony.webwork INFO + + org.apache.maven.repository + DEBUG + -- 2.39.5