You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2018/09/08 11:14:03 UTC

[maven-wagon] branch master updated: [WAGON-531] Add default TTL for HTTP connections

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-wagon.git


The following commit(s) were added to refs/heads/master by this push:
     new b32212d  [WAGON-531] Add default TTL for HTTP connections
b32212d is described below

commit b32212df1df69716f4ce231c77b68d89f2285849
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Fri Aug 31 22:41:57 2018 +0200

    [WAGON-531] Add default TTL for HTTP connections
---
 .../maven/wagon/shared/http/AbstractHttpClientWagon.java     | 12 +++++++++++-
 .../apache/maven/wagon/providers/webdav/WebDavWagonTest.java |  1 -
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
index 0f85d60..9f294f7 100755
--- a/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
+++ b/wagon-providers/wagon-http-shared/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java
@@ -294,6 +294,15 @@ public abstract class AbstractHttpClientWagon
     private static final int MAX_BACKOFF_WAIT_SECONDS =
         Integer.parseInt( System.getProperty( "maven.wagon.httpconnectionManager.maxBackoffSeconds", "180" ) );
 
+    /**
+     * Time to live in seconds for an HTTP connection. After that time, the connection will be dropped.
+     * Intermediates tend to drop connections after some idle period. Set to -1 to maintain connections
+     * indefinitely. This value defaults to 300 seconds.
+     *
+     * @since 3.2
+     */
+    private static final long CONN_TTL =
+        Long.getLong( "maven.wagon.httpconnectionManager.ttlSeconds", 300L );
 
     protected int backoff( int wait, String url )
         throws InterruptedException, TransferFailedException
@@ -347,7 +356,8 @@ public abstract class AbstractHttpClientWagon
                                                                                                                  PlainConnectionSocketFactory.INSTANCE ).register(
             "https", sslConnectionSocketFactory ).build();
 
-        PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager( registry );
+        PoolingHttpClientConnectionManager connManager =
+            new PoolingHttpClientConnectionManager( registry, null, null, null, CONN_TTL, TimeUnit.SECONDS );
         if ( persistentPool )
         {
             connManager.setDefaultMaxPerRoute( MAX_CONN_PER_ROUTE );
diff --git a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
index e432970..bbe2807 100644
--- a/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
+++ b/wagon-providers/wagon-webdav-jackrabbit/src/test/java/org/apache/maven/wagon/providers/webdav/WebDavWagonTest.java
@@ -18,7 +18,6 @@ package org.apache.maven.wagon.providers.webdav;
 import it.could.webdav.DAVServlet;
 import org.apache.http.HttpException;
 import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.client.methods.HttpUriRequest;
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 import org.apache.maven.wagon.StreamingWagon;