diff --git a/httpclient/src/main/java/org/apache/http/impl/conn/HttpConnPool.java b/httpclient/src/main/java/org/apache/http/impl/conn/HttpConnPool.java index c0fbd09e0..b55a87420 100644 --- a/httpclient/src/main/java/org/apache/http/impl/conn/HttpConnPool.java +++ b/httpclient/src/main/java/org/apache/http/impl/conn/HttpConnPool.java @@ -31,6 +31,7 @@ import java.util.concurrent.atomic.AtomicLong; import org.apache.commons.logging.Log; +import org.apache.http.conn.ClientConnectionOperator; import org.apache.http.conn.OperatedClientConnection; import org.apache.http.conn.routing.HttpRoute; import org.apache.http.pool.AbstractConnPool; @@ -51,9 +52,10 @@ class HttpConnPool extends AbstractConnPool { + private final ClientConnectionOperator connOperator; + + InternalConnFactory(final ClientConnectionOperator connOperator) { + this.connOperator = connOperator; + } + public OperatedClientConnection create(final HttpRoute route) throws IOException { - return new DefaultClientConnection(); + return connOperator.createConnection(); } } diff --git a/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java b/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java index a4692613c..f703b3617 100644 --- a/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java +++ b/httpclient/src/main/java/org/apache/http/impl/conn/PoolingClientConnectionManager.java @@ -111,7 +111,7 @@ public PoolingClientConnectionManager(final SchemeRegistry schemeRegistry, this.schemeRegistry = schemeRegistry; this.dnsResolver = dnsResolver; this.operator = createConnectionOperator(schemeRegistry); - this.pool = new HttpConnPool(this.log, 2, 20, timeToLive, tunit); + this.pool = new HttpConnPool(this.log, this.operator, 2, 20, timeToLive, tunit); } @Override