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 );