|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.http.impl.conn.PoolingClientConnectionManager
@ThreadSafe public class PoolingClientConnectionManager
Manages a pool of client connections 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.
| Constructor Summary | |
|---|---|
PoolingClientConnectionManager()
|
|
PoolingClientConnectionManager(SchemeRegistry schreg)
|
|
PoolingClientConnectionManager(SchemeRegistry schreg,
DnsResolver dnsResolver)
|
|
PoolingClientConnectionManager(SchemeRegistry schemeRegistry,
long timeToLive,
TimeUnit tunit)
|
|
PoolingClientConnectionManager(SchemeRegistry schemeRegistry,
long timeToLive,
TimeUnit tunit,
DnsResolver dnsResolver)
|
|
| Method Summary | |
|---|---|
void |
closeExpiredConnections()
Closes all expired connections in the pool. |
void |
closeIdleConnections(long idleTimeout,
TimeUnit tunit)
Closes idle connections in the pool. |
protected ClientConnectionOperator |
createConnectionOperator(SchemeRegistry schreg)
Hook for creating the connection operator. |
protected void |
finalize()
|
int |
getDefaultMaxPerRoute()
|
int |
getMaxPerRoute(HttpRoute route)
|
int |
getMaxTotal()
|
SchemeRegistry |
getSchemeRegistry()
Obtains the scheme registry used by this manager. |
PoolStats |
getStats(HttpRoute route)
|
PoolStats |
getTotalStats()
|
void |
releaseConnection(ManagedClientConnection conn,
long keepalive,
TimeUnit tunit)
Releases a connection for use by others. |
ClientConnectionRequest |
requestConnection(HttpRoute route,
Object state)
Returns a new ClientConnectionRequest, from which a
ManagedClientConnection can be obtained or the request can be
aborted. |
void |
setDefaultMaxPerRoute(int max)
|
void |
setMaxPerRoute(HttpRoute route,
int max)
|
void |
setMaxTotal(int max)
|
void |
shutdown()
Shuts down this connection manager and releases allocated resources. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public PoolingClientConnectionManager(SchemeRegistry schreg)
public PoolingClientConnectionManager(SchemeRegistry schreg,
DnsResolver dnsResolver)
public PoolingClientConnectionManager()
public PoolingClientConnectionManager(SchemeRegistry schemeRegistry,
long timeToLive,
TimeUnit tunit)
public PoolingClientConnectionManager(SchemeRegistry schemeRegistry,
long timeToLive,
TimeUnit tunit,
DnsResolver dnsResolver)
| Method Detail |
|---|
protected void finalize()
throws Throwable
finalize in class ObjectThrowableprotected ClientConnectionOperator createConnectionOperator(SchemeRegistry schreg)
DefaultClientConnectionOperator.
schreg - the scheme registry.
public SchemeRegistry getSchemeRegistry()
ClientConnectionManager
getSchemeRegistry in interface ClientConnectionManagernull
public ClientConnectionRequest requestConnection(HttpRoute route,
Object state)
ClientConnectionManagerClientConnectionRequest, from which a
ManagedClientConnection can be obtained or the request can be
aborted.
requestConnection in interface ClientConnectionManager
public void releaseConnection(ManagedClientConnection conn,
long keepalive,
TimeUnit tunit)
ClientConnectionManager
releaseConnection in interface ClientConnectionManagerconn - the connection to releasekeepalive - the duration of time this connection is valid for reusetunit - the unit of time validDuration is measured inClientConnectionManager.closeExpiredConnections()public void shutdown()
ClientConnectionManager
shutdown in interface ClientConnectionManager
public void closeIdleConnections(long idleTimeout,
TimeUnit tunit)
ClientConnectionManager
closeIdleConnections in interface ClientConnectionManageridleTimeout - the idle time of connections to be closedtunit - the unit for the idletimeClientConnectionManager.closeExpiredConnections()public void closeExpiredConnections()
ClientConnectionManager
closeExpiredConnections in interface ClientConnectionManagerpublic int getMaxTotal()
getMaxTotal in interface ConnPoolControl<HttpRoute>public void setMaxTotal(int max)
setMaxTotal in interface ConnPoolControl<HttpRoute>public int getDefaultMaxPerRoute()
getDefaultMaxPerRoute in interface ConnPoolControl<HttpRoute>public void setDefaultMaxPerRoute(int max)
setDefaultMaxPerRoute in interface ConnPoolControl<HttpRoute>public int getMaxPerRoute(HttpRoute route)
getMaxPerRoute in interface ConnPoolControl<HttpRoute>
public void setMaxPerRoute(HttpRoute route,
int max)
setMaxPerRoute in interface ConnPoolControl<HttpRoute>public PoolStats getTotalStats()
getTotalStats in interface ConnPoolControl<HttpRoute>public PoolStats getStats(HttpRoute route)
getStats in interface ConnPoolControl<HttpRoute>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||