Author: olamy
Date: Mon Jan 28 23:29:09 2013
New Revision: 1439693

URL: http://svn.apache.org/viewvc?rev=1439693&view=rev
Log:
correctly shutdown http connection manager

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/admin/DefaultArchivaAdministration.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/admin/DefaultArchivaAdministration.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/admin/DefaultArchivaAdministration.java?rev=1439693&r1=1439692&r2=1439693&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/admin/DefaultArchivaAdministration.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/admin/DefaultArchivaAdministration.java
 Mon Jan 28 23:29:09 2013
@@ -33,12 +33,14 @@ import org.apache.archiva.configuration.
 import org.apache.archiva.configuration.UserInterfaceOptions;
 import org.apache.archiva.configuration.WebappConfiguration;
 import org.apache.commons.lang.StringUtils;
+import org.apache.http.conn.ClientConnectionManager;
 import org.apache.http.impl.conn.PoolingClientConnectionManager;
 import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
 import org.apache.maven.wagon.providers.http.HttpWagon;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -52,6 +54,8 @@ public class DefaultArchivaAdministratio
     implements ArchivaAdministration
 {
 
+    private PoolingClientConnectionManager poolingClientConnectionManager;
+
     @PostConstruct
     public void initialize()
         throws RepositoryAdminException
@@ -61,6 +65,15 @@ public class DefaultArchivaAdministratio
         setupWagon( networkConfiguration );
     }
 
+    @PreDestroy
+    public void shutdown()
+    {
+        if ( this.poolingClientConnectionManager != null )
+        {
+            this.poolingClientConnectionManager.shutdown();
+        }
+    }
+
 
     public List<LegacyArtifactPath> getLegacyArtifactPaths()
         throws RepositoryAdminException
@@ -381,7 +394,7 @@ public class DefaultArchivaAdministratio
         {
             // back to default values
             HttpWagon.setUseClientManagerPooled( true );
-            PoolingClientConnectionManager poolingClientConnectionManager = 
new PoolingClientConnectionManager();
+            poolingClientConnectionManager = new 
PoolingClientConnectionManager();
             poolingClientConnectionManager.setDefaultMaxPerRoute( 30 );
             poolingClientConnectionManager.setMaxTotal( 30 );
             HttpWagon.setConnectionManagerPooled( 
poolingClientConnectionManager );
@@ -390,7 +403,7 @@ public class DefaultArchivaAdministratio
         else
         {
             HttpWagon.setUseClientManagerPooled( 
networkConfiguration.isUsePooling() );
-            PoolingClientConnectionManager poolingClientConnectionManager = 
new PoolingClientConnectionManager();
+            poolingClientConnectionManager = new 
PoolingClientConnectionManager();
             poolingClientConnectionManager.setDefaultMaxPerRoute( 
networkConfiguration.getMaxTotalPerHost() );
             poolingClientConnectionManager.setMaxTotal( 
networkConfiguration.getMaxTotal() );
             HttpWagon.setConnectionManagerPooled( 
poolingClientConnectionManager );


Reply via email to