# All Classes and Interfaces

Class
Description
AbandonedConfig
Configuration settings for abandoned object removal.
BaseGenericObjectPool<T>
Base class that provides common functionality for `GenericObjectPool` and `GenericKeyedObjectPool`.
BaseKeyedPooledObjectFactory<K,V>
A base implementation of `KeyedPooledObjectFactory`.
BaseObject
A base class for common functionality.
BaseObjectPool<T>
A simple base implementation of `ObjectPool`.
BaseObjectPoolConfig<T>
Provides the implementation for the common attributes shared by the sub-classes.
BasePooledObjectFactory<T>
A base implementation of `PoolableObjectFactory`.
CallStack
Strategy for obtaining and printing the current call stack.
CallStackUtils
Utility methods for `CallStack`.
CglibProxySource<T>
cglib is unmaintained and does not work well (or possibly at all?)
DefaultEvictionPolicy<T>
Provides the default implementation of `EvictionPolicy` used by the pools.
DefaultPooledObject<T>
This wrapper is used to track the additional information, such as state, for the pooled objects.
DefaultPooledObjectInfo
Implements providing information on pooled objects via JMX.
DefaultPooledObjectInfoMBean
The interface that defines the information about pooled objects that will be exposed via JMX.
DestroyMode
Destroy context provided to object factories via `destroyObject` and `invalidateObject` methods.
EvictionConfig
This class is used by pool implementations to pass configuration information to `EvictionPolicy` instances.
EvictionPolicy<T>
To provide a custom eviction policy (i.e. something other than `DefaultEvictionPolicy` for a pool, users must provide an implementation of this interface that provides the required eviction policy.
GenericKeyedObjectPool<K,T>
A configurable `KeyedObjectPool` implementation.
GenericKeyedObjectPoolConfig<T>
A simple structure encapsulating the configuration for a `GenericKeyedObjectPool`.
GenericKeyedObjectPoolMXBean<K>
Defines the methods that will be made available via JMX.
GenericObjectPool<T>
A configurable `ObjectPool` implementation.
GenericObjectPoolConfig<T>
A simple structure encapsulating the configuration for a `GenericObjectPool`.
GenericObjectPoolMXBean
Defines the methods that will be made available via JMX.
JdkProxySource<T>
Provides proxy objects using Java reflection.
KeyedObjectPool<K,V>
A "keyed" pooling interface.
KeyedPooledObjectFactory<K,V>
An interface defining life-cycle methods for instances to be served by a `KeyedObjectPool`.
NoOpCallStack
CallStack strategy using no-op implementations of all functionality.
ObjectPool<T>
A pooling simple interface.
PooledObject<T>
Defines the wrapper that is used to track the additional information, such as state, for the pooled objects.
PooledObjectFactory<T>
An interface defining life-cycle methods for instances to be served by an `ObjectPool`.
PooledObjectState
Provides all possible states of a `PooledObject`.
PooledSoftReference<T>
Extension of `DefaultPooledObject` to wrap pooled soft references.
PoolUtils
This class consists exclusively of static methods that operate on or return ObjectPool or KeyedObjectPool related interfaces.
ProxiedKeyedObjectPool<K,V>
Create a new keyed object pool where the pooled objects are wrapped in proxies allowing better control of pooled objects and in particular the prevention of the continued use of an object by a client after that client returns the object to the pool.
ProxiedObjectPool<T>
Create a new object pool where the pooled objects are wrapped in proxies allowing better control of pooled objects and in particular the prevention of the continued use of an object by a client after that client returns the object to the pool.
SecurityManagerCallStack
A `CallStack` strategy using a `SecurityManager`.
SoftReferenceObjectPool<T>
A `SoftReference` based `ObjectPool`.
SwallowedExceptionListener
Pools that unavoidably swallow exceptions may be configured with an instance of this listener so the user may receive notification of when this happens.
ThrowableCallStack
CallStack strategy that uses the stack trace from a `Throwable`.
TrackedUse
Allows pooled objects to make information available about when and how they were used available to the object pool.
UsageTracking<T>
This interface may be implemented by an object pool to enable clients (primarily those clients that wrap pools to provide pools with extended features) to provide additional information to the pool relating to object using allowing more informed decisions and reporting to be made regarding abandoned objects.