org.apache.commons.pool.impl
Class GenericKeyedObjectPoolFactory<K,V>

java.lang.Object
  extended by org.apache.commons.pool.impl.GenericKeyedObjectPoolFactory<K,V>
Type Parameters:
K - the type of keys in this pool
V - the type of objects held in this pool
All Implemented Interfaces:
KeyedObjectPoolFactory<K,V>

public class GenericKeyedObjectPoolFactory<K,V>
extends Object
implements KeyedObjectPoolFactory<K,V>

A factory for creating GenericKeyedObjectPool instances.

Since:
Pool 1.0
Version:
$Revision: 1222396 $ $Date: 2011-12-22 14:02:25 -0500 (Thu, 22 Dec 2011) $
Author:
Rodney Waldhoff, Dirk Verbeeck
See Also:
GenericKeyedObjectPool, KeyedObjectPoolFactory

Constructor Summary
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, GenericKeyedObjectPool.Config config)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait, boolean testOnBorrow, boolean testOnReturn)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, boolean testOnBorrow, boolean testOnReturn)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int maxTotal)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int maxTotal, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int maxTotal, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle)
          Create a new GenericKeyedObjectPoolFactory.
GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory, int maxActive, byte whenExhaustedAction, long maxWait, int maxIdle, int maxTotal, int minIdle, boolean testOnBorrow, boolean testOnReturn, long timeBetweenEvictionRunsMillis, int numTestsPerEvictionRun, long minEvictableIdleTimeMillis, boolean testWhileIdle, boolean lifo)
          Create a new GenericKeyedObjectPoolFactory.
 
Method Summary
 KeyedObjectPool<K,V> createPool()
          Create a new GenericKeyedObjectPool with the currently configured properties.
 KeyedPoolableObjectFactory<K,V> getFactory()
           
 boolean getLifo()
           
 int getMaxActive()
           
 int getMaxIdle()
           
 int getMaxTotal()
           
 long getMaxWait()
           
 long getMinEvictableIdleTimeMillis()
           
 int getMinIdle()
           
 int getNumTestsPerEvictionRun()
           
 boolean getTestOnBorrow()
           
 boolean getTestOnReturn()
           
 boolean getTestWhileIdle()
           
 long getTimeBetweenEvictionRunsMillis()
           
 byte getWhenExhaustedAction()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     GenericKeyedObjectPool.Config config)
                              throws NullPointerException
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
config - a non-null GenericKeyedObjectPool.Config describing the configuration.
Throws:
NullPointerException - when config is null.
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, GenericKeyedObjectPool.Config)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from pools at one time.
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int, byte, long)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait,
                                     boolean testOnBorrow,
                                     boolean testOnReturn)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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 borrowObject.
testOnReturn - whether to validate objects after they are returned to returnObject.
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int, byte, long, boolean, boolean)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait,
                                     int maxIdle)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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 the pools.
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int, byte, long, int)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait,
                                     int maxIdle,
                                     boolean testOnBorrow,
                                     boolean testOnReturn)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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 the pools.
testOnBorrow - whether to validate objects before they are returned by borrowObject.
testOnReturn - whether to validate objects after they are returned to returnObject.
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int, byte, long, int, boolean, boolean)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait,
                                     int maxIdle,
                                     boolean testOnBorrow,
                                     boolean testOnReturn,
                                     long timeBetweenEvictionRunsMillis,
                                     int numTestsPerEvictionRun,
                                     long minEvictableIdleTimeMillis,
                                     boolean testWhileIdle)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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 the pools.
testOnBorrow - whether to validate objects before they are returned by borrowObject.
testOnReturn - whether to validate objects after they are returned to returnObject.
timeBetweenEvictionRunsMillis - the number of milliseconds to sleep between examining idle objects for eviction.
numTestsPerEvictionRun - the number of idle objects to examine per run of the evictor.
minEvictableIdleTimeMillis - the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction.
testWhileIdle - whether to validate objects in the idle object eviction thread.
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int, byte, long, int, boolean, boolean, long, int, long, boolean)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait,
                                     int maxIdle,
                                     int maxTotal)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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 the pools.
maxTotal - the maximum number of objects that can exists at one time.

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait,
                                     int maxIdle,
                                     int maxTotal,
                                     boolean testOnBorrow,
                                     boolean testOnReturn,
                                     long timeBetweenEvictionRunsMillis,
                                     int numTestsPerEvictionRun,
                                     long minEvictableIdleTimeMillis,
                                     boolean testWhileIdle)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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 the pools.
maxTotal - the maximum number of objects that can exists at one time.
testOnBorrow - whether to validate objects before they are returned by borrowObject.
testOnReturn - whether to validate objects after they are returned to returnObject.
timeBetweenEvictionRunsMillis - the number of milliseconds to sleep between examining idle objects for eviction.
numTestsPerEvictionRun - the number of idle objects to examine per run of the evictor.
minEvictableIdleTimeMillis - the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction.
testWhileIdle - whether to validate objects in the idle object eviction thread.
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int, byte, long, int, int, boolean, boolean, long, int, long, boolean)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait,
                                     int maxIdle,
                                     int maxTotal,
                                     int minIdle,
                                     boolean testOnBorrow,
                                     boolean testOnReturn,
                                     long timeBetweenEvictionRunsMillis,
                                     int numTestsPerEvictionRun,
                                     long minEvictableIdleTimeMillis,
                                     boolean testWhileIdle)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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 the pools.
maxTotal - the maximum number of objects that can exists at one time.
minIdle - the minimum number of idle objects to have in the pool at any one time.
testOnBorrow - whether to validate objects before they are returned by borrowObject.
testOnReturn - whether to validate objects after they are returned to returnObject.
timeBetweenEvictionRunsMillis - the number of milliseconds to sleep between examining idle objects for eviction.
numTestsPerEvictionRun - the number of idle objects to examine per run of the evictor.
minEvictableIdleTimeMillis - the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction.
testWhileIdle - whether to validate objects in the idle object eviction thread.
Since:
Pool 1.3
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int, byte, long, int, int, int, boolean, boolean, long, int, long, boolean)

GenericKeyedObjectPoolFactory

public GenericKeyedObjectPoolFactory(KeyedPoolableObjectFactory<K,V> factory,
                                     int maxActive,
                                     byte whenExhaustedAction,
                                     long maxWait,
                                     int maxIdle,
                                     int maxTotal,
                                     int minIdle,
                                     boolean testOnBorrow,
                                     boolean testOnReturn,
                                     long timeBetweenEvictionRunsMillis,
                                     int numTestsPerEvictionRun,
                                     long minEvictableIdleTimeMillis,
                                     boolean testWhileIdle,
                                     boolean lifo)
Create a new GenericKeyedObjectPoolFactory.

Parameters:
factory - the KeyedPoolableObjectFactory to used by created pools.
maxActive - the maximum number of objects that can be borrowed from 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 the pools.
maxTotal - the maximum number of objects that can exists at one time.
minIdle - the minimum number of idle objects to have in the pool at any one time.
testOnBorrow - whether to validate objects before they are returned by borrowObject.
testOnReturn - whether to validate objects after they are returned to returnObject.
timeBetweenEvictionRunsMillis - the number of milliseconds to sleep between examining idle objects for eviction.
numTestsPerEvictionRun - the number of idle objects to examine per run of the evictor.
minEvictableIdleTimeMillis - the minimum number of milliseconds an object can sit idle in the pool before it is eligible for eviction.
testWhileIdle - whether to validate objects in the idle object eviction thread.
lifo - whether or not objects are returned in last-in-first-out order from the idle object pool.
Since:
Pool 1.4
See Also:
GenericKeyedObjectPool.GenericKeyedObjectPool(KeyedPoolableObjectFactory, int, byte, long, int, int, int, boolean, boolean, long, int, long, boolean, boolean)
Method Detail

createPool

public KeyedObjectPool<K,V> createPool()
Create a new GenericKeyedObjectPool with the currently configured properties.

Specified by:
createPool in interface KeyedObjectPoolFactory<K,V>
Returns:
GenericKeyedObjectPool with Configuration determined by current property settings

getFactory

public KeyedPoolableObjectFactory<K,V> getFactory()
Returns:
the KeyedPoolableObjectFactory used by 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

getMaxActive

public int getMaxActive()
Returns:
the maxActive setting for pools created by this factory.
Since:
1.5.5

getMaxIdle

public int getMaxIdle()
Returns:
the maxIdle setting for pools created by this factory.
Since:
1.5.5

getMaxTotal

public int getMaxTotal()
Returns:
the maxTotal 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

getMinEvictableIdleTimeMillis

public long getMinEvictableIdleTimeMillis()
Returns:
the minEvictableIdleTimeMillis 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

getNumTestsPerEvictionRun

public int getNumTestsPerEvictionRun()
Returns:
the numTestsPerEvictionRun 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

getWhenExhaustedAction

public byte getWhenExhaustedAction()
Returns:
the whenExhaustedAction setting for pools created by this factory.
Since:
1.5.5


Copyright © 2001-2012 Apache Software Foundation. Documenation generated April 9 2013.