PoolingHttpClientConnectionManager
.@Deprecated @Contract(threading=SAFE_CONDITIONAL) public class PoolingClientConnectionManager extends java.lang.Object implements ClientConnectionManager, org.apache.http.pool.ConnPoolControl<HttpRoute>
OperatedClientConnection
and is able to service connection requests from multiple execution threads.
Connections are pooled on a per route basis. A request for a route which
already the manager has persistent connections for available in the pool
will be services by leasing a connection from the pool rather than
creating a brand new connection.
PoolingConnectionManager maintains a maximum limit of connection on a per route basis and in total. Per default this implementation will create no more than than 2 concurrent connections per given route and no more 20 connections in total. For many real-world applications these limits may prove too constraining, especially if they use HTTP as a transport protocol for their services. Connection limits, however, can be adjusted using HTTP parameters.
Modifier and Type | Field and Description |
---|---|
private DnsResolver |
dnsResolver
Deprecated.
the custom-configured DNS lookup mechanism.
|
private org.apache.commons.logging.Log |
log
Deprecated.
|
private ClientConnectionOperator |
operator
Deprecated.
|
private HttpConnPool |
pool
Deprecated.
|
private SchemeRegistry |
schemeRegistry
Deprecated.
|
Constructor and Description |
---|
PoolingClientConnectionManager()
Deprecated.
|
PoolingClientConnectionManager(SchemeRegistry schreg)
Deprecated.
|
PoolingClientConnectionManager(SchemeRegistry schreg,
DnsResolver dnsResolver)
Deprecated.
|
PoolingClientConnectionManager(SchemeRegistry schemeRegistry,
long timeToLive,
java.util.concurrent.TimeUnit timeUnit)
Deprecated.
|
PoolingClientConnectionManager(SchemeRegistry schemeRegistry,
long timeToLive,
java.util.concurrent.TimeUnit timeUnit,
DnsResolver dnsResolver)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
closeExpiredConnections()
Deprecated.
Closes all expired connections in the pool.
|
void |
closeIdleConnections(long idleTimeout,
java.util.concurrent.TimeUnit timeUnit)
Deprecated.
Closes idle connections in the pool.
|
protected ClientConnectionOperator |
createConnectionOperator(SchemeRegistry schreg)
Deprecated.
Hook for creating the connection operator.
|
protected void |
finalize()
Deprecated.
|
private java.lang.String |
format(HttpPoolEntry entry)
Deprecated.
|
private java.lang.String |
format(HttpRoute route,
java.lang.Object state)
Deprecated.
|
private java.lang.String |
formatStats(HttpRoute route)
Deprecated.
|
int |
getDefaultMaxPerRoute()
Deprecated.
|
int |
getMaxPerRoute(HttpRoute route)
Deprecated.
|
int |
getMaxTotal()
Deprecated.
|
SchemeRegistry |
getSchemeRegistry()
Deprecated.
Obtains the scheme registry used by this manager.
|
org.apache.http.pool.PoolStats |
getStats(HttpRoute route)
Deprecated.
|
org.apache.http.pool.PoolStats |
getTotalStats()
Deprecated.
|
(package private) ManagedClientConnection |
leaseConnection(java.util.concurrent.Future<HttpPoolEntry> future,
long timeout,
java.util.concurrent.TimeUnit timeUnit)
Deprecated.
|
void |
releaseConnection(ManagedClientConnection conn,
long keepalive,
java.util.concurrent.TimeUnit timeUnit)
Deprecated.
Releases a connection for use by others.
|
ClientConnectionRequest |
requestConnection(HttpRoute route,
java.lang.Object state)
Deprecated.
Returns a new
ClientConnectionRequest , from which a
ManagedClientConnection can be obtained or the request can be
aborted. |
void |
setDefaultMaxPerRoute(int max)
Deprecated.
|
void |
setMaxPerRoute(HttpRoute route,
int max)
Deprecated.
|
void |
setMaxTotal(int max)
Deprecated.
|
void |
shutdown()
Deprecated.
Shuts down this connection manager and releases allocated resources.
|
private final org.apache.commons.logging.Log log
private final SchemeRegistry schemeRegistry
private final HttpConnPool pool
private final ClientConnectionOperator operator
private final DnsResolver dnsResolver
public PoolingClientConnectionManager(SchemeRegistry schreg)
public PoolingClientConnectionManager(SchemeRegistry schreg, DnsResolver dnsResolver)
public PoolingClientConnectionManager()
public PoolingClientConnectionManager(SchemeRegistry schemeRegistry, long timeToLive, java.util.concurrent.TimeUnit timeUnit)
public PoolingClientConnectionManager(SchemeRegistry schemeRegistry, long timeToLive, java.util.concurrent.TimeUnit timeUnit, DnsResolver dnsResolver)
protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
protected ClientConnectionOperator createConnectionOperator(SchemeRegistry schreg)
DefaultClientConnectionOperator
.schreg
- the scheme registry.public SchemeRegistry getSchemeRegistry()
ClientConnectionManager
getSchemeRegistry
in interface ClientConnectionManager
null
private java.lang.String format(HttpRoute route, java.lang.Object state)
private java.lang.String formatStats(HttpRoute route)
private java.lang.String format(HttpPoolEntry entry)
public ClientConnectionRequest requestConnection(HttpRoute route, java.lang.Object state)
ClientConnectionManager
ClientConnectionRequest
, from which a
ManagedClientConnection
can be obtained or the request can be
aborted.requestConnection
in interface ClientConnectionManager
ManagedClientConnection leaseConnection(java.util.concurrent.Future<HttpPoolEntry> future, long timeout, java.util.concurrent.TimeUnit timeUnit) throws java.lang.InterruptedException, ConnectionPoolTimeoutException
java.lang.InterruptedException
ConnectionPoolTimeoutException
public void releaseConnection(ManagedClientConnection conn, long keepalive, java.util.concurrent.TimeUnit timeUnit)
ClientConnectionManager
releaseConnection
in interface ClientConnectionManager
conn
- the connection to releasekeepalive
- the duration of time this connection is valid for reusetimeUnit
- the unit of time validDuration is measured inClientConnectionManager.closeExpiredConnections()
public void shutdown()
ClientConnectionManager
shutdown
in interface ClientConnectionManager
public void closeIdleConnections(long idleTimeout, java.util.concurrent.TimeUnit timeUnit)
ClientConnectionManager
closeIdleConnections
in interface ClientConnectionManager
idleTimeout
- the idle time of connections to be closedtimeUnit
- the unit for the idletime
ClientConnectionManager.closeExpiredConnections()
public void closeExpiredConnections()
ClientConnectionManager
closeExpiredConnections
in interface ClientConnectionManager
public int getMaxTotal()
getMaxTotal
in interface org.apache.http.pool.ConnPoolControl<HttpRoute>
public void setMaxTotal(int max)
setMaxTotal
in interface org.apache.http.pool.ConnPoolControl<HttpRoute>
public int getDefaultMaxPerRoute()
getDefaultMaxPerRoute
in interface org.apache.http.pool.ConnPoolControl<HttpRoute>
public void setDefaultMaxPerRoute(int max)
setDefaultMaxPerRoute
in interface org.apache.http.pool.ConnPoolControl<HttpRoute>
public int getMaxPerRoute(HttpRoute route)
getMaxPerRoute
in interface org.apache.http.pool.ConnPoolControl<HttpRoute>
public void setMaxPerRoute(HttpRoute route, int max)
setMaxPerRoute
in interface org.apache.http.pool.ConnPoolControl<HttpRoute>
public org.apache.http.pool.PoolStats getTotalStats()
getTotalStats
in interface org.apache.http.pool.ConnPoolControl<HttpRoute>