You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by jd...@apache.org on 2009/06/20 00:56:47 UTC

svn commit: r786703 - in /maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http: AbstractHttpClientWagon.java HttpConfiguration.java HttpMethodConfiguration.java

Author: jdcasey
Date: Fri Jun 19 22:56:47 2009
New Revision: 786703

URL: http://svn.apache.org/viewvc?rev=786703&view=rev
Log:
Implemented as many performance optimizations as seem reasonable, from:

http://hc.apache.org/httpclient-3.x/performance.html#Concurrent_execution_of_HTTP_methods

This includes shutting down the multi-threaded connection manager on closeConnection(), and using expect-continue for PUT requests by default.

Modified:
    maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
    maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpConfiguration.java
    maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java

Modified: maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java?rev=786703&r1=786702&r2=786703&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java Fri Jun 19 22:56:47 2009
@@ -260,6 +260,10 @@
 
     public void closeConnection()
     {
+        if ( connectionManager instanceof MultiThreadedHttpConnectionManager )
+        {
+            ( (MultiThreadedHttpConnectionManager) connectionManager ).shutdown();
+        }
     }
 
     public void put( File source, String resourceName )

Modified: maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpConfiguration.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpConfiguration.java?rev=786703&r1=786702&r2=786703&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpConfiguration.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpConfiguration.java Fri Jun 19 22:56:47 2009
@@ -4,10 +4,14 @@
 import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.methods.HeadMethod;
 import org.apache.commons.httpclient.methods.PutMethod;
+import org.apache.commons.httpclient.params.HttpClientParams;
 
 public class HttpConfiguration
 {
     
+    private static final HttpMethodConfiguration DEFAULT_PUT =
+        new HttpMethodConfiguration().addParam( HttpClientParams.USE_EXPECT_CONTINUE, "%b,true" );
+    
     private HttpMethodConfiguration all;
     
     private HttpMethodConfiguration get;
@@ -68,7 +72,7 @@
         }
         else if ( method instanceof PutMethod )
         {
-            return HttpMethodConfiguration.merge( all, put );
+            return HttpMethodConfiguration.merge( DEFAULT_PUT, all, put );
         }
         else if ( method instanceof HeadMethod )
         {

Modified: maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java?rev=786703&r1=786702&r2=786703&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java Fri Jun 19 22:56:47 2009
@@ -251,6 +251,12 @@
         return copy;
     }
 
+    public static HttpMethodConfiguration merge( HttpMethodConfiguration defaults, HttpMethodConfiguration base, HttpMethodConfiguration local )
+    {
+        HttpMethodConfiguration result = merge( defaults, base );
+        return merge( result, local );
+    }
+    
     public static HttpMethodConfiguration merge( HttpMethodConfiguration base, HttpMethodConfiguration local )
     {
         if ( base == null && local == null )



---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org