Package org.apache.commons.pool.impl
Class GenericObjectPoolFactory<T>
- java.lang.Object
-
- org.apache.commons.pool.impl.GenericObjectPoolFactory<T>
-
- Type Parameters:
T
- the type of objects held in this pool
- All Implemented Interfaces:
ObjectPoolFactory<T>
public class GenericObjectPoolFactory<T> extends Object implements ObjectPoolFactory<T>
A factory for creatingGenericObjectPool
instances.- Since:
- Pool 1.0
- Version:
- $Revision: 1222396 $ $Date: 2011-12-22 14:02:25 -0500 (Thu, 22 Dec 2011) $
- Author:
- Rodney Waldhoff
- See Also:
GenericObjectPool
,ObjectPoolFactory
-
-
Constructor Summary
Constructors Constructor Description GenericObjectPoolFactory(PoolableObjectFactory<T> factory)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, boolean testOnBorrow, boolean testOnReturn)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, boolean testOnBorrow, boolean testOnReturn)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle, long softMinEvictableIdleTimeMillis)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle, long softMinEvictableIdleTimeMillis, boolean lifo)
Create a new GenericObjectPoolFactory.GenericObjectPoolFactory(PoolableObjectFactory<T> factory, GenericObjectPool.Config config)
Create a new GenericObjectPoolFactory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectPool<T>
createPool()
Create and return a newObjectPool
.PoolableObjectFactory<T>
getFactory()
boolean
getLifo()
int
getMaxActive()
int
getMaxIdle()
long
getMaxWait()
long
getMinEvictableIdleTimeMillis()
int
getMinIdle()
int
getNumTestsPerEvictionRun()
long
getSoftMinEvictableIdleTimeMillis()
boolean
getTestOnBorrow()
boolean
getTestOnReturn()
boolean
getTestWhileIdle()
long
getTimeBetweenEvictionRunsMillis()
byte
getWhenExhaustedAction()
-
-
-
Constructor Detail
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.- See Also:
GenericObjectPool(PoolableObjectFactory)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, GenericObjectPool.Config config) throws NullPointerException
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.config
- a non-null
GenericObjectPool.Config describing the configuration.- Throws:
NullPointerException
- when config isnull
.- See Also:
GenericObjectPool(PoolableObjectFactory, GenericObjectPool.Config)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.- See Also:
GenericObjectPool(PoolableObjectFactory, int)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.whenExhaustedAction
- the action to take when the pool is exhausted.maxWait
- the maximum amount of time to wait for an idle object when the pool is exhausted.- See Also:
GenericObjectPool(PoolableObjectFactory, int, byte, long)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, boolean testOnBorrow, boolean testOnReturn)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.whenExhaustedAction
- the action to take when the pool is exhausted.maxWait
- the maximum amount of time to wait for an idle object when the pool is exhausted.testOnBorrow
- whether to validate objects before they are returned by the borrowObject.testOnReturn
- whether to validate objects after they are returned to the returnObject.- See Also:
GenericObjectPool(PoolableObjectFactory, int, byte, long, boolean, boolean)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.whenExhaustedAction
- the action to take when the pool is exhausted.maxWait
- the maximum amount of time to wait for an idle object when the pool is exhausted.maxIdle
- the maximum number of idle objects in my pool.- See Also:
GenericObjectPool(PoolableObjectFactory, int, byte, long, int)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, boolean testOnBorrow, boolean testOnReturn)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.whenExhaustedAction
- the action to take when the pool is exhausted.maxWait
- the maximum amount of time to wait for an idle object when the pool is exhausted.maxIdle
- the maximum number of idle objects in my pool.testOnBorrow
- whether to validate objects before they are returned by the borrowObject.testOnReturn
- whether to validate objects after they are returned to the returnObject.- See Also:
GenericObjectPool(PoolableObjectFactory, int, byte, long, int, boolean, boolean)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.whenExhaustedAction
- the action to take when the pool is exhausted.maxWait
- the maximum amount of time to wait for an idle object when the pool is exhausted.maxIdle
- the maximum number of idle objects in my pool.testOnBorrow
- whether to validate objects before they are returned by the borrowObject.testOnReturn
- whether to validate objects after they are returned to the returnObject.timeBetweenEvictionRunsMillis
- the number of milliseconds to sleep between examining idle objects for eviction.numTestsPerEvictionRun
- the number of idle objects to examine per run within the idle object eviction thread.minEvictableIdleTimeMillis
- the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction.testWhileIdle
- whether or not to validate objects in the idle object eviction thread.- See Also:
GenericObjectPool(PoolableObjectFactory, int, byte, long, int, boolean, boolean, long, int, long, boolean)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.whenExhaustedAction
- the action to take when the pool is exhausted.maxWait
- the maximum amount of time to wait for an idle object when the pool is exhausted.maxIdle
- the maximum number of idle objects in my pool.minIdle
- the minimum number of idle objects in my pool.testOnBorrow
- whether to validate objects before they are returned by the borrowObject.testOnReturn
- whether to validate objects after they are returned to the returnObject.timeBetweenEvictionRunsMillis
- the number of milliseconds to sleep between examining idle objects for eviction.numTestsPerEvictionRun
- the number of idle objects to examine per run within the idle object eviction thread.minEvictableIdleTimeMillis
- the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction.testWhileIdle
- whether or not to validate objects in the idle object eviction thread.- See Also:
GenericObjectPool(PoolableObjectFactory, int, byte, long, int, int, boolean, boolean, long, int, long, boolean)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle, long softMinEvictableIdleTimeMillis)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.whenExhaustedAction
- the action to take when the pool is exhausted.maxWait
- the maximum amount of time to wait for an idle object when the pool is exhausted.maxIdle
- the maximum number of idle objects in my pool.minIdle
- the minimum number of idle objects in my pool.testOnBorrow
- whether to validate objects before they are returned by the borrowObject.testOnReturn
- whether to validate objects after they are returned to the returnObject.timeBetweenEvictionRunsMillis
- the number of milliseconds to sleep between examining idle objects for eviction.numTestsPerEvictionRun
- the number of idle objects to examine per run within the idle object eviction thread.minEvictableIdleTimeMillis
- the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction.testWhileIdle
- whether or not to validate objects in the idle object eviction thread.softMinEvictableIdleTimeMillis
- the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction with the extra condition that at least "minIdle" amount of object remain in the pool.- Since:
- Pool 1.3
- See Also:
GenericObjectPool(PoolableObjectFactory, int, byte, long, int, int, boolean, boolean, long, int, long, boolean, long)
-
GenericObjectPoolFactory
public GenericObjectPoolFactory(PoolableObjectFactory<T> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle, long softMinEvictableIdleTimeMillis, boolean lifo)
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.maxActive
- maximum number of objects that can be borrowed from created pools at one time.whenExhaustedAction
- the action to take when the pool is exhausted.maxWait
- the maximum amount of time to wait for an idle object when the pool is exhausted.maxIdle
- the maximum number of idle objects in my pool.minIdle
- the minimum number of idle objects in my pool.testOnBorrow
- whether to validate objects before they are returned by the borrowObject.testOnReturn
- whether to validate objects after they are returned to the returnObject.timeBetweenEvictionRunsMillis
- the number of milliseconds to sleep between examining idle objects for eviction.numTestsPerEvictionRun
- the number of idle objects to examine per run within the idle object eviction thread.minEvictableIdleTimeMillis
- the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction.testWhileIdle
- whether or not to validate objects in the idle object eviction thread.softMinEvictableIdleTimeMillis
- the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction with the extra condition that at least "minIdle" amount of object remain in the pool.lifo
- whether or not objects are returned in last-in-first-out order from the idle object pool.- Since:
- Pool 1.4
- See Also:
GenericObjectPool(PoolableObjectFactory, int, byte, long, int, int, boolean, boolean, long, int, long, boolean, long, boolean)
-
-
Method Detail
-
createPool
public ObjectPool<T> createPool()
Create and return a newObjectPool
.- Specified by:
createPool
in interfaceObjectPoolFactory<T>
- Returns:
- a new
ObjectPool
-
getMaxIdle
public int getMaxIdle()
- Returns:
- the
maxIdle
setting for pools created by this factory. - Since:
- 1.5.5
-
getMinIdle
public int getMinIdle()
- Returns:
- the
minIdle
setting for pools created by this factory. - Since:
- 1.5.5
-
getMaxActive
public int getMaxActive()
- Returns:
- the
maxActive
setting for pools created by this factory. - Since:
- 1.5.5
-
getMaxWait
public long getMaxWait()
- Returns:
- the
maxWait
setting for pools created by this factory. - Since:
- 1.5.5
-
getWhenExhaustedAction
public byte getWhenExhaustedAction()
- Returns:
- the
whenExhaustedAction
setting for pools created by this factory. - Since:
- 1.5.5
-
getTestOnBorrow
public boolean getTestOnBorrow()
- Returns:
- the
testOnBorrow
setting for pools created by this factory. - Since:
- 1.5.5
-
getTestOnReturn
public boolean getTestOnReturn()
- Returns:
- the
testOnReturn
setting for pools created by this factory. - Since:
- 1.5.5
-
getTestWhileIdle
public boolean getTestWhileIdle()
- Returns:
- the
testWhileIdle
setting for pools created by this factory. - Since:
- 1.5.5
-
getTimeBetweenEvictionRunsMillis
public long getTimeBetweenEvictionRunsMillis()
- Returns:
- the
timeBetweenEvictionRunsMillis
setting for pools created by this factory. - Since:
- 1.5.5
-
getNumTestsPerEvictionRun
public int getNumTestsPerEvictionRun()
- Returns:
- the
numTestsPerEvictionRun
setting for pools created by this factory. - Since:
- 1.5.5
-
getMinEvictableIdleTimeMillis
public long getMinEvictableIdleTimeMillis()
- Returns:
- the
minEvictableIdleTimeMillis
setting for pools created by this factory. - Since:
- 1.5.5
-
getSoftMinEvictableIdleTimeMillis
public long getSoftMinEvictableIdleTimeMillis()
- Returns:
- the
softMinEvicatableIdleTimeMillis
setting for pools created by this factory. - Since:
- 1.5.5
-
getLifo
public boolean getLifo()
- Returns:
- the
lifo
setting for pools created by this factory. - Since:
- 1.5.5
-
getFactory
public PoolableObjectFactory<T> getFactory()
- Returns:
- the
PoolableObjectFactory
used by pools created by this factory
-
-