org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager
Manages a pool of client connections.
This class is derived from MultiThreadedHttpConnectionManager
in HttpClient 3. See there for original authors.
Summary
Fields
Public Constructors
Public Methods
Protected Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Fields
The operator for opening and updating connections.
The pool of connections being managed.
The schemes supported by this connection manager.
Public Constructors
public
ThreadSafeClientConnManager(HttpParams params, SchemeRegistry schreg)
Creates a new thread safe connection manager.
Parameters
| params
| the parameters for this manager |
| schreg
| the scheme registry, or
null for the default registry
|
Public Methods
public
void
closeExpiredConnections()
Closes all expired connections in the pool.
Open connections in the pool that have not been used for
the timespan defined when the connection was released will be closed.
Currently allocated connections are not subject to this method.
Times will be checked with milliseconds precision.
public
void
closeIdleConnections(long idleTimeout, TimeUnit tunit)
Closes idle connections in the pool.
Open connections in the pool that have not been used for the
timespan given by the argument will be closed.
Currently allocated connections are not subject to this method.
Times will be checked with milliseconds precision
All expired connections will also be closed.
public
int
getConnectionsInPool()
Gets the total number of pooled connections. This is the total number of
connections that have been created and are still in use by this connection
manager. This value will not exceed the maximum number of connections
in total.
Returns
- the total number of pooled connections
public
int
getConnectionsInPool(HttpRoute route)
Gets the total number of pooled connections for the given route.
This is the total number of connections that have been created and
are still in use by this connection manager for the route.
This value will not exceed the maximum number of connections per host.
Parameters
| route
| the route in question |
Returns
- the total number of pooled connections for that route
Obtains the scheme registry used by this manager.
public
void
releaseConnection(ManagedClientConnection conn, long validDuration, TimeUnit timeUnit)
Releases a connection for use by others.
You may optionally specify how long the connection is valid
to be reused. Values <= 0 are considered to be valid forever.
If the connection is not marked as reusable, the connection will
not be reused regardless of the valid duration.
If the connection has been released before,
the call will be ignored.
public
void
shutdown()
Shuts down this connection manager and releases allocated resources.
This includes closing all connections, whether they are currently
used or not.
Protected Methods
Hook for creating the connection operator.
It is called by the constructor.
Derived classes can override this method to change the
instantiation of the operator.
The default implementation here instantiates
DefaultClientConnectionOperator.
Parameters
| schreg
| the scheme registry to use, or null |
Returns
- the connection operator to use
Hook for creating the connection pool.
Returns
- the connection pool to use
protected
void
finalize()
Called by the virtual machine when there are no longer any (non-weak)
references to the receiver. Subclasses can use this facility to guarantee
that any associated resources are cleaned up before the receiver is
garbage collected. Uncaught exceptions which are thrown during the
running of the method cause it to terminate immediately, but are
otherwise ignored.
Note: The virtual machine assumes that the implementation in class Object
is empty.