All Known Implementing Classes:
StackKeyedObjectPool, KeyedObjectPoolAdaptor, ErodingKeyedObjectPool, BaseKeyedObjectPool, CheckedKeyedObjectPool, ErodingPerKeyKeyedObjectPool, SynchronizedKeyedObjectPool, GenericKeyedObjectPool
A keyed pool pools instances of multiple types. Each type may be accessed using an arbitrary key.
Example of use:
Object obj =null; Object key ="Key";try{ obj = pool.borrowObject(key);//...use the object...}catch(Exception e) {// invalidate the objectpool.invalidateObject(key, obj);// do not return the object to the pool twiceobj =null; }finally{// make sure the object is returned to the poolif(null!= obj) { pool.returnObject(key, obj); } }
KeyedObjectPool implementations may choose to store at most one instance per key value, or may choose to maintain a pool of instances for each key (essentially creating a Map of pools ).
See BaseKeyedObjectPool for a simple base implementation.
Rodney - WaldhoffSandy - McArthur$ - Revision: 480413 $ $Date: 2006-11-28 22:16:05 -0700 (Tue, 28 Nov 2006) $Pool - 1.0| Method from org.apache.commons.pool.KeyedObjectPool Summary: |
|---|
| addObject, borrowObject, clear, clear, close, getNumActive, getNumActive, getNumIdle, getNumIdle, invalidateObject, returnObject, setFactory |
| Method from org.apache.commons.pool.KeyedObjectPool Detail: |
|---|
addObject is useful for "pre-loading" a pool with idle objects
(Optional operation). |
key.
Instances returned from this method will have been either newly created with makeObject or will be a previously idle object and have been activated with activateObject and then validated with validateObject .
By contract, clients must return the borrowed object using
returnObject , invalidateObject , or a related method
as defined in an implementation or sub-interface,
using a
The behaviour of this method when the pool has been exhausted
is not strictly specified (although it may be specified by implementations).
Older versions of this method would return |
|
key (optional operation).
Throws UnsupportedOperationException if the pool cannot be cleared. |
Calling addObject or borrowObject after invoking this method on a pool will cause them to throw an IllegalStateException . |
|
key (optional operation).
Returns a negative value if this information is not available. |
|
key
currently idle in this pool (optional operation).
Returns a negative value if this information is not available. |
obj must have been obtained
using borrowObject
or a related method as defined in an implementation
or sub-interface
using a key that is equivalent to the one used to
borrow the Object in the first place.
This method should be used when an object that has been borrowed is determined (due to an exception or other problem) to be invalid. |
obj must have been obtained
using borrowObject
or a related method as defined in an implementation
or sub-interface
using a key that is equivalent to the one used to
borrow the instance in the first place. |
factory after a pool has been used will frequently
throw an UnsupportedOperationException . It is up to the pool
implementation to determine when it is acceptable to call this method. |