org.apache.commons.pool.impl
Class GenericObjectPoolFactory

java.lang.Object
  extended by org.apache.commons.pool.impl.GenericObjectPoolFactory
All Implemented Interfaces:
ObjectPoolFactory

public class GenericObjectPoolFactory
extends Object
implements ObjectPoolFactory

A factory for creating GenericObjectPool instances.

Since:
Pool 1.0
Version:
$Revision: 777748 $ $Date: 2009-05-22 20:00:44 -0400 (Fri, 22 May 2009) $
Author:
Rodney Waldhoff
See Also:
GenericObjectPool, ObjectPoolFactory

Field Summary
protected  PoolableObjectFactory _factory
           
protected  boolean _lifo
           
protected  int _maxActive
           
protected  int _maxIdle
           
protected  long _maxWait
           
protected  long _minEvictableIdleTimeMillis
           
protected  int _minIdle
           
protected  int _numTestsPerEvictionRun
           
protected  long _softMinEvictableIdleTimeMillis
           
protected  boolean _testOnBorrow
           
protected  boolean _testOnReturn
           
protected  boolean _testWhileIdle
           
protected  long _timeBetweenEvictionRunsMillis
           
protected  byte _whenExhaustedAction
           
 
Constructor Summary
GenericObjectPoolFactory(PoolableObjectFactory factory)
          Create a new GenericObjectPoolFactory.
GenericObjectPoolFactory(PoolableObjectFactory factory, GenericObjectPool.Config config)
          Create a new GenericObjectPoolFactory.
GenericObjectPoolFactory(PoolableObjectFactory factory, int maxActive)
          Create a new GenericObjectPoolFactory.
GenericObjectPoolFactory(PoolableObjectFactory factory, int maxActive, byte whenExhaustedAction, long maxWait)
          Create a new GenericObjectPoolFactory.
GenericObjectPoolFactory(PoolableObjectFactory factory, int maxActive, byte whenExhaustedAction, long maxWait, boolean testOnBorrow, boolean testOnReturn)
          Create a new GenericObjectPoolFactory.
GenericObjectPoolFactory(PoolableObjectFactory factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle)
          Create a new GenericObjectPoolFactory.
GenericObjectPoolFactory(PoolableObjectFactory factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, boolean testOnBorrow, boolean testOnReturn)
          Create a new GenericObjectPoolFactory.
GenericObjectPoolFactory(PoolableObjectFactory 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 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 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 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.
 
Method Summary
 ObjectPool createPool()
          Create and return a new ObjectPool.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_maxIdle

protected int _maxIdle

_minIdle

protected int _minIdle

_maxActive

protected int _maxActive

_maxWait

protected long _maxWait

_whenExhaustedAction

protected byte _whenExhaustedAction

_testOnBorrow

protected boolean _testOnBorrow

_testOnReturn

protected boolean _testOnReturn

_testWhileIdle

protected boolean _testWhileIdle

_timeBetweenEvictionRunsMillis

protected long _timeBetweenEvictionRunsMillis

_numTestsPerEvictionRun

protected int _numTestsPerEvictionRun

_minEvictableIdleTimeMillis

protected long _minEvictableIdleTimeMillis

_softMinEvictableIdleTimeMillis

protected long _softMinEvictableIdleTimeMillis

_lifo

protected boolean _lifo

_factory

protected PoolableObjectFactory _factory
Constructor Detail

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory factory)
Create a new GenericObjectPoolFactory.

Parameters:
factory - the PoolableObjectFactory used by created pools.
See Also:
GenericObjectPool.GenericObjectPool(PoolableObjectFactory)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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 is null.
See Also:
GenericObjectPool.GenericObjectPool(PoolableObjectFactory, GenericObjectPool.Config)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int, byte, long)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int, byte, long, boolean, boolean)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int, byte, long, int)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int, byte, long, int, boolean, boolean)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int, byte, long, int, boolean, boolean, long, int, long, boolean)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int, byte, long, int, int, boolean, boolean, long, int, long, boolean)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int, byte, long, int, int, boolean, boolean, long, int, long, boolean, long)

GenericObjectPoolFactory

public GenericObjectPoolFactory(PoolableObjectFactory 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.GenericObjectPool(PoolableObjectFactory, int, byte, long, int, int, boolean, boolean, long, int, long, boolean, long, boolean)
Method Detail

createPool

public ObjectPool createPool()
Description copied from interface: ObjectPoolFactory
Create and return a new ObjectPool.

Specified by:
createPool in interface ObjectPoolFactory
Returns:
a new ObjectPool


Copyright © 2001-2009 The Apache Software Foundation. All Rights Reserved.