This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 1e03388d5bd3b84b1c637fbb06010a00834cfa4b
Author: Stefan Oehme <[email protected]>
AuthorDate: Wed Apr 10 11:40:56 2019 +0200

    [MNG-6632] - Remember artifact handlers after they've been used once
    
    Otherwise we have to go through the whole sisu engine again,
    which is very slow, because it does a linear scan.
---
 .../handler/manager/DefaultArtifactHandlerManager.java         | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git 
a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
 
b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
index 9394132..a4b2f44 100644
--- 
a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
+++ 
b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
@@ -39,11 +39,11 @@ public class DefaultArtifactHandlerManager
     @Requirement( role = ArtifactHandler.class )
     private Map<String, ArtifactHandler> artifactHandlers;
 
-    private Map<String, ArtifactHandler> unmanagedHandlers = new 
ConcurrentHashMap<>();
+    private Map<String, ArtifactHandler> allHandlers = new 
ConcurrentHashMap<>();
 
     public ArtifactHandler getArtifactHandler( String type )
     {
-        ArtifactHandler handler = unmanagedHandlers.get( type );
+        ArtifactHandler handler = allHandlers.get( type );
 
         if ( handler == null )
         {
@@ -53,6 +53,10 @@ public class DefaultArtifactHandlerManager
             {
                 handler = new DefaultArtifactHandler( type );
             }
+            else
+            {
+                allHandlers.put( type, handler );
+            }
         }
 
         return handler;
@@ -61,7 +65,7 @@ public class DefaultArtifactHandlerManager
     public void addHandlers( Map<String, ArtifactHandler> handlers )
     {
         // legacy support for maven-gpg-plugin:1.0
-        unmanagedHandlers.putAll( handlers );
+        allHandlers.putAll( handlers );
     }
 
     @Deprecated

Reply via email to