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 java.lang.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) $
- See Also:
GenericObjectPool
,ObjectPoolFactory
-
-
Field Summary
Fields Modifier and Type Field Description protected PoolableObjectFactory<T>
_factory
Deprecated.to be removed in pool 2.0.protected boolean
_lifo
Deprecated.to be removed in pool 2.0.protected int
_maxActive
Deprecated.to be removed in pool 2.0.protected int
_maxIdle
Deprecated.to be removed in pool 2.0.protected long
_maxWait
Deprecated.to be removed in pool 2.0.protected long
_minEvictableIdleTimeMillis
Deprecated.to be removed in pool 2.0.protected int
_minIdle
Deprecated.to be removed in pool 2.0.protected int
_numTestsPerEvictionRun
Deprecated.to be removed in pool 2.0.protected long
_softMinEvictableIdleTimeMillis
Deprecated.to be removed in pool 2.0.protected boolean
_testOnBorrow
Deprecated.to be removed in pool 2.0.protected boolean
_testOnReturn
Deprecated.to be removed in pool 2.0.protected boolean
_testWhileIdle
Deprecated.to be removed in pool 2.0.protected long
_timeBetweenEvictionRunsMillis
Deprecated.to be removed in pool 2.0.protected byte
_whenExhaustedAction
Deprecated.to be removed in pool 2.0.
-
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()
-
-
-
Field Detail
-
_maxIdle
@Deprecated protected int _maxIdle
Deprecated.to be removed in pool 2.0. UsegetMaxIdle()
.ThemaxIdle
setting for pools created by this factory.
-
_minIdle
@Deprecated protected int _minIdle
Deprecated.to be removed in pool 2.0. UsegetMinIdle()
.TheminIdle
setting for pools created by this factory.
-
_maxActive
@Deprecated protected int _maxActive
Deprecated.to be removed in pool 2.0. UsegetMaxActive()
.ThemaxActive
setting for pools created by this factory.
-
_maxWait
@Deprecated protected long _maxWait
Deprecated.to be removed in pool 2.0. UsegetMaxWait()
.ThemaxWait
setting for pools created by this factory.
-
_whenExhaustedAction
@Deprecated protected byte _whenExhaustedAction
Deprecated.to be removed in pool 2.0. UsegetWhenExhaustedAction()
.ThewhenExhaustedAction
setting for pools created by this factory.
-
_testOnBorrow
@Deprecated protected boolean _testOnBorrow
Deprecated.to be removed in pool 2.0. UsegetTestOnBorrow()
.ThetestOnBorrow
setting for pools created by this factory.
-
_testOnReturn
@Deprecated protected boolean _testOnReturn
Deprecated.to be removed in pool 2.0. UsegetTestOnReturn()
.ThetestOnReturn
setting for pools created by this factory.
-
_testWhileIdle
@Deprecated protected boolean _testWhileIdle
Deprecated.to be removed in pool 2.0. UsegetTestWhileIdle()
.ThetestWhileIdle
setting for pools created by this factory.
-
_timeBetweenEvictionRunsMillis
@Deprecated protected long _timeBetweenEvictionRunsMillis
Deprecated.to be removed in pool 2.0. UsegetTimeBetweenEvictionRunsMillis()
.ThetimeBetweenEvictionRunsMillis
setting for pools created by this factory.
-
_numTestsPerEvictionRun
@Deprecated protected int _numTestsPerEvictionRun
Deprecated.to be removed in pool 2.0. UsegetNumTestsPerEvictionRun()
.ThenumTestsPerEvictionRun
setting for pools created by this factory.
-
_minEvictableIdleTimeMillis
@Deprecated protected long _minEvictableIdleTimeMillis
Deprecated.to be removed in pool 2.0. UsegetMinEvictableIdleTimeMillis()
.TheminEvictableIdleTimeMillis
setting for pools created by this factory.
-
_softMinEvictableIdleTimeMillis
@Deprecated protected long _softMinEvictableIdleTimeMillis
Deprecated.to be removed in pool 2.0. UsegetSoftMinEvictableIdleTimeMillis()
.ThesoftMinEvictableIdleTimeMillis
setting for pools created by this factory.
-
_lifo
@Deprecated protected boolean _lifo
Deprecated.to be removed in pool 2.0. UsegetLifo()
.Thelifo
setting for pools created by this factory.
-
_factory
@Deprecated protected PoolableObjectFactory<T> _factory
Deprecated.to be removed in pool 2.0. UsegetFactory()
.ThePoolableObjectFactory
used by pools created by this factory.
-
-
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 java.lang.NullPointerException
Create a new GenericObjectPoolFactory.- Parameters:
factory
- the PoolableObjectFactory used by created pools.config
- a non-null
GenericObjectPool.Config describing the configuration.- Throws:
java.lang.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
-
-