Package org.apache.commons.pool
Object pooling API.
The org.apache.commons.pool
package defines a simple
interface for a pool of object instances, and a handful of base
classes that may be useful when creating pool implementations.
The pool
package itself doesn't define a specific object
pooling implementation, but rather a contract that implementations may
support in order to be fully interchangeable.
The pool
package separates the way in which instances are
pooled from the way in which they are created, resulting in a pair of
interfaces:
ObjectPool
- defines a simple object pooling interface, with methods for borrowing instances from and returning them to the pool.
PoolableObjectFactory
- defines lifecycle methods for object instances contained within a pool. By associating a factory with a pool, the pool can create new object instances as needed.
ObjectPoolFactory
defines a simple factory for ObjectPool
s, which may be
useful for some applications.
The pool
package also provides a keyed pool interface,
which pools instances of multiple types, accessed according to an
arbitrary key. See
KeyedObjectPool
,
KeyedPoolableObjectFactory
,
and
KeyedObjectPoolFactory
.
-
Interface Summary Interface Description KeyedObjectPool<K,V> A "keyed" pooling interface.KeyedObjectPoolFactory<K,V> A factory for creatingKeyedObjectPool
s.KeyedPoolableObjectFactory<K,V> An interface defining life-cycle methods for instances to be served by aKeyedObjectPool
.ObjectPool<T> A pooling interface.ObjectPoolFactory<T> A factory interface for creatingObjectPool
s.PoolableObjectFactory<T> An interface defining life-cycle methods for instances to be served by anObjectPool
. -
Class Summary Class Description BaseKeyedObjectPool<K,V> A simple base implementation ofKeyedObjectPool
.BaseKeyedPoolableObjectFactory<K,V> A base implementation ofKeyedPoolableObjectFactory
.BaseObjectPool<T> A simple base implementation ofObjectPool
.BasePoolableObjectFactory<T> A base implementation ofPoolableObjectFactory
.PoolUtils This class consists exclusively of static methods that operate on or return ObjectPool or KeyedObjectPool related interfaces.