Generic Object pooling API with several implementations.
The
org.apache.commons.pool2
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
API supports pooling of unique objects which can be requested via a key as well as pools where all objects are equivalent.
The
org.apache.commons.pool2.impl
package contains several pool implementations. {@link org.apache.commons.pool2.impl.GenericObjectPool GenericObjectPool} has many configuration options and
can support a limited set of objects such as would be useful in a database connection pool. {@link org.apache.commons.pool2.impl.SoftReferenceObjectPool
SoftReferenceObjectPool} has no limit on the number of objects in the pool, but the garbage collector can remove idle objects from the pool as needed. There
is also a keyed version of {@link org.apache.commons.pool2.impl.GenericObjectPool GenericObjectPool}, {@link
org.apache.commons.pool2.impl.GenericKeyedObjectPool GenericKeyedObjectPool}