java.lang.Object | |
↳ | org.apache.http.impl.conn.tsccm.AbstractConnPool |
Known Direct Subclasses |
An abstract connection pool.
It is used by the
ThreadSafeClientConnManager
.
The abstract pool includes a
poolLock
, which is used to
synchronize access to the internal pool datastructures.
Don't use
synchronized
for that purpose!
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
idleConnHandler | The handler for idle connections. | |||||||||
|
isShutDown | Indicates whether this pool is shut down. | |||||||||
|
issuedConnections | References to issued connections. | |||||||||
|
numConnections | The current total number of connections. | |||||||||
|
poolLock | The global lock for this pool. | |||||||||
|
refQueue | A reference queue to track loss of pool entries to GC. |
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Creates a new connection pool.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
||||||||||
|
Closes idle connections.
|
||||||||||
|
Deletes all entries for closed connections.
|
||||||||||
|
Enables connection garbage collection (GC).
|
||||||||||
|
Returns an entry into the pool.
|
||||||||||
|
Obtains a pool entry with a connection within the given timeout.
|
||||||||||
|
|
||||||||||
|
Returns a new
PoolEntryRequest
, from which a
BasicPoolEntry
can be obtained, or the request can be aborted.
|
||||||||||
|
Shuts down this pool and all associated resources.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Closes a connection from this pool.
|
||||||||||
|
Handles cleaning up for a lost pool entry with the given route.
|
[Expand]
Inherited Methods
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
|||||||||||
From interface
org.apache.http.impl.conn.tsccm.RefQueueHandler
|
The handler for idle connections.
References to issued connections.
Objects in this set are of class
BasicPoolEntryRef
,
and point to the pool entry for the issued connection.
GCed connections are detected by the missing pool entries.
A reference queue to track loss of pool entries to GC. The same queue is used to track loss of the connection manager, so we cannot specialize the type.
Closes idle connections.
idletime | the time the connections should have been idle in order to be closed now |
---|---|
tunit |
the unit for the
idletime
|
Deletes all entries for closed connections.
Enables connection garbage collection (GC). This method must be called immediately after creating the connection pool. It is not possible to enable connection GC after pool entries have been created. Neither is it possible to disable connection GC.
IllegalStateException | if connection GC is already enabled, or if it cannot be enabled because there already are pool entries |
---|
Returns an entry into the pool. The connection of the entry is expected to be in a suitable state, either open and re-usable, or closed. The pool will not make any attempt to determine whether it can be re-used or not.
entry | the entry for the connection to release |
---|---|
reusable |
true
if the entry is deemed
reusable,
false
otherwise.
|
validDuration | The duration that the entry should remain free and reusable. |
timeUnit | The unit of time the duration is measured in. |
Obtains a pool entry with a connection within the given timeout.
route | the route for which to get the connection |
---|---|
timeout | the timeout, 0 or negative for no timeout |
tunit |
the unit for the
timeout
,
may be
null
only if there is no timeout
|
ConnectionPoolTimeoutException | if the timeout expired |
---|---|
InterruptedException | if the calling thread was interrupted |
Returns a new
PoolEntryRequest
, from which a
BasicPoolEntry
can be obtained, or the request can be aborted.
Shuts down this pool and all associated resources. Overriding methods MUST call the implementation here!
Closes a connection from this pool.
conn |
the connection to close, or
null
|
---|
Handles cleaning up for a lost pool entry with the given route. A lost pool entry corresponds to a connection that was garbage collected instead of being properly released.
route | the route of the pool entry that was lost |
---|