You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2011/08/24 14:29:37 UTC
svn commit: r1161069 - in /maven/wagon/trunk/wagon-providers:
wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
wagon-http/pom.xml
Author: olamy
Date: Wed Aug 24 12:29:37 2011
New Revision: 1161069
URL: http://svn.apache.org/viewvc?rev=1161069&view=rev
Log:
[WAGON-348] reuse http connection for ASF httpclient provider
feature off by default
Modified:
maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
maven/wagon/trunk/wagon-providers/wagon-http/pom.xml
Modified: maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java?rev=1161069&r1=1161068&r2=1161069&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java Wed Aug 24 12:29:37 2011
@@ -212,14 +212,22 @@ public abstract class AbstractHttpClient
private DefaultHttpClient client;
- protected static ClientConnectionManager connectionManager = new SingleClientConnManager();
+ protected static ClientConnectionManager connectionManagerPooled;
- protected static boolean useMultiThreaded = Boolean.getBoolean( "maven.wagon.http.connectionManager.multihreaded" );
+ protected ClientConnectionManager clientConnectionManager = new SingleClientConnManager();
+
+ // olamy make pool option disable by default remove ! to enable this by default
+ protected static boolean clientManagerSingle = !Boolean.getBoolean( "maven.wagon.httpconnectionManager.pool" );
static
{
- if ( useMultiThreaded )
+ if ( clientManagerSingle )
+ {
+ System.out.println( "http connection pool disabled in wagon http" );
+ }
+ else
{
+
ThreadSafeClientConnManager threadSafeClientConnManager = new ThreadSafeClientConnManager();
int maxPerRoute =
Integer.parseInt( System.getProperty( "maven.wagon.httpconnectionManager.maxPerRoute", "20" ) );
@@ -232,8 +240,17 @@ public abstract class AbstractHttpClient
+ threadSafeClientConnManager.getDefaultMaxPerRoute() + ", max total "
+ threadSafeClientConnManager.getMaxTotal() );
- connectionManager = threadSafeClientConnManager;
+ connectionManagerPooled = threadSafeClientConnManager;
+ }
+ }
+
+ protected ClientConnectionManager getConnectionManager()
+ {
+ if (clientManagerSingle )
+ {
+ return clientConnectionManager;
}
+ return connectionManagerPooled;
}
/**
@@ -246,7 +263,7 @@ public abstract class AbstractHttpClient
public void openConnectionInternal()
{
repository.setUrl( getURL( repository ) );
- client = new DefaultHttpClient( connectionManager );
+ client = new DefaultHttpClient( getConnectionManager() );
// WAGON-273: default the cookie-policy to browser compatible
client.getParams().setParameter( ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY );
@@ -309,9 +326,9 @@ public abstract class AbstractHttpClient
public void closeConnection()
{
- if ( !useMultiThreaded )
+ if ( clientManagerSingle )
{
- connectionManager.shutdown();
+ getConnectionManager().shutdown();
}
}
Modified: maven/wagon/trunk/wagon-providers/wagon-http/pom.xml
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http/pom.xml?rev=1161069&r1=1161068&r2=1161069&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http/pom.xml (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http/pom.xml Wed Aug 24 12:29:37 2011
@@ -33,6 +33,12 @@ under the License.
Wagon that gets and puts artifacts through http using Apache commons-httpclient
</description>
+ <properties>
+ <!-- http connection -->
+ <http.pool>false</http.pool>
+ </properties>
+
+
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
@@ -101,7 +107,7 @@ under the License.
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
- <maven.wagon.http.connectionManager.multihreaded>true</maven.wagon.http.connectionManager.multihreaded>
+ <maven.wagon.httpconnectionManager.pool>${http.pool}</maven.wagon.httpconnectionManager.pool>
</systemPropertyVariables>
</configuration>
</plugin>