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>