You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2012/09/26 10:15:00 UTC
svn commit: r1390317 -
/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java
Author: olegk
Date: Wed Sep 26 08:15:00 2012
New Revision: 1390317
URL: http://svn.apache.org/viewvc?rev=1390317&view=rev
Log:
HTTPCLIENT-1237: PoolingClientConnectionManager should only update pool expiry for resuable connections
Contributed by Alf Høgemark <alf at i100.no>
Modified:
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java?rev=1390317&r1=1390316&r2=1390317&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java Wed Sep 26 08:15:00 2012
@@ -261,15 +261,18 @@ public class PoolingClientConnectionMana
}
}
}
- entry.updateExpiry(keepalive, tunit != null ? tunit : TimeUnit.MILLISECONDS);
- if (this.log.isDebugEnabled()) {
- String s;
- if (keepalive > 0) {
- s = "for " + keepalive + " " + tunit;
- } else {
- s = "indefinitely";
+ // Only reusable connections can be kept alive
+ if (managedConn.isMarkedReusable()) {
+ entry.updateExpiry(keepalive, tunit != null ? tunit : TimeUnit.MILLISECONDS);
+ if (this.log.isDebugEnabled()) {
+ String s;
+ if (keepalive > 0) {
+ s = "for " + keepalive + " " + tunit;
+ } else {
+ s = "indefinitely";
+ }
+ this.log.debug("Connection " + format(entry) + " can be kept alive " + s);
}
- this.log.debug("Connection " + format(entry) + " can be kept alive " + s);
}
} finally {
this.pool.release(entry, managedConn.isMarkedReusable());