org.apache.commons.pool

Class PoolUtils


public final class PoolUtils
extends Object

This class consists exclusively of static methods that operate on or return keyedPool related interfaces.
Version:
$Revision: 385296 $ $Date: 2006-03-12 10:28:08 -0500 (Sun, 12 Mar 2006) $
Author:
Sandy McArthur
Since:
Pool 1.3

Constructor Summary

PoolUtils()
PoolUtils instances should NOT be constructed in standard programming.

Method Summary

static ObjectPool
adapt(KeyedObjectPool keyedPool)
Adapt a KeyedObjectPool instance to work where an ObjectPool is needed.
static ObjectPool
adapt(KeyedObjectPool keyedPool, Object key)
Adapt a KeyedObjectPool instance to work where an ObjectPool is needed using the specified key when delegating.
static PoolableObjectFactory
adapt(KeyedPoolableObjectFactory keyedFactory)
Adapt a KeyedPoolableObjectFactory instance to work where a PoolableObjectFactory is needed.
static PoolableObjectFactory
adapt(KeyedPoolableObjectFactory keyedFactory, Object key)
Adapt a KeyedPoolableObjectFactory instance to work where a PoolableObjectFactory is needed using the specified key when delegating.
static KeyedObjectPool
adapt(ObjectPool pool)
Adapt an ObjectPool to work where an KeyedObjectPool is needed.
static KeyedPoolableObjectFactory
adapt(PoolableObjectFactory factory)
Adapt a PoolableObjectFactory instance to work where a KeyedPoolableObjectFactory is needed.
static Map
checkMinIdle(KeyedObjectPool keyedPool, Collection keys, int minIdle, long period)
Periodically check the idle object count for each key in the Collection keys in the keyedPool.
static TimerTask
checkMinIdle(KeyedObjectPool keyedPool, Object key, int minIdle, long period)
Periodically check the idle object count for the key in the keyedPool.
static TimerTask
checkMinIdle(ObjectPool pool, int minIdle, long period)
Periodically check the idle object count for the keyedPool.
static KeyedObjectPool
checkedPool(KeyedObjectPool keyedPool, Class type)
Wraps an KeyedObjectPool and dynamically checks the type of objects borrowed and returned to the keyedPool.
static ObjectPool
checkedPool(ObjectPool pool, Class type)
Wraps an ObjectPool and dynamically checks the type of objects borrowed and returned to the keyedPool.
static void
prefill(KeyedObjectPool keyedPool, Collection keys, int count)
Call addObject(Object) on keyedPool with each key in keys for count number of times.
static void
prefill(KeyedObjectPool keyedPool, Object key, int count)
Call addObject(Object) on keyedPool with key count number of times.
static void
prefill(ObjectPool pool, int count)
Call addObject() on keyedPool count number of times.
static KeyedObjectPool
synchronizedPool(KeyedObjectPool keyedPool)
Returns a synchronized (thread-safe) KeyedObjectPool backed by the specified KeyedObjectPool.
static ObjectPool
synchronizedPool(ObjectPool pool)
Returns a synchronized (thread-safe) ObjectPool backed by the specified ObjectPool.
static KeyedPoolableObjectFactory
synchronizedPoolableFactory(KeyedPoolableObjectFactory keyedFactory)
Returns a synchronized (thread-safe) KeyedPoolableObjectFactory backed by the specified KeyedPoolableObjectFactory.
static PoolableObjectFactory
synchronizedPoolableFactory(PoolableObjectFactory factory)
Returns a synchronized (thread-safe) PoolableObjectFactory backed by the specified PoolableObjectFactory.

Constructor Details

PoolUtils

public PoolUtils()
PoolUtils instances should NOT be constructed in standard programming. Instead, the class should be used procedurally: PoolUtils.adapt(aPool);. This constructor is public to permit tools that require a JavaBean instance to operate.

Method Details

adapt

public static ObjectPool adapt(KeyedObjectPool keyedPool)
            throws IllegalArgumentException
Adapt a KeyedObjectPool instance to work where an ObjectPool is needed. This is the equivalent of calling PoolUtils.adapt(aKeyedObjectPool, new Object()).
Parameters:
keyedPool - the KeyedObjectPool to delegate to.
Returns:
an ObjectPool that delegates to keyedPool with an internal key.
Since:
Pool 1.3

adapt

public static ObjectPool adapt(KeyedObjectPool keyedPool,
                               Object key)
            throws IllegalArgumentException
Adapt a KeyedObjectPool instance to work where an ObjectPool is needed using the specified key when delegating.
Parameters:
keyedPool - the KeyedObjectPool to delegate to.
key - the key to use when delegating.
Returns:
an ObjectPool that delegates to keyedPool with the specified key.
Since:
Pool 1.3

adapt

public static PoolableObjectFactory adapt(KeyedPoolableObjectFactory keyedFactory)
            throws IllegalArgumentException
Adapt a KeyedPoolableObjectFactory instance to work where a PoolableObjectFactory is needed. This method is the equivalent of calling PoolUtils.adapt(aKeyedPoolableObjectFactory, new Object()).
Parameters:
keyedFactory - the KeyedPoolableObjectFactory to delegate to.
Returns:
a PoolableObjectFactory that delegates to keyedFactory with an internal key.
Since:
Pool 1.3

adapt

public static PoolableObjectFactory adapt(KeyedPoolableObjectFactory keyedFactory,
                                          Object key)
            throws IllegalArgumentException
Adapt a KeyedPoolableObjectFactory instance to work where a PoolableObjectFactory is needed using the specified key when delegating.
Parameters:
keyedFactory - the KeyedPoolableObjectFactory to delegate to.
key - the key to use when delegating.
Returns:
a PoolableObjectFactory that delegates to keyedFactory with the specified key.
Since:
Pool 1.3

adapt

public static KeyedObjectPool adapt(ObjectPool pool)
            throws IllegalArgumentException
Adapt an ObjectPool to work where an KeyedObjectPool is needed. The key is ignored.
Parameters:
pool - the ObjectPool to delegate to.
Returns:
a KeyedObjectPool that delegates to keyedPool ignoring the key.
Since:
Pool 1.3

adapt

public static KeyedPoolableObjectFactory adapt(PoolableObjectFactory factory)
            throws IllegalArgumentException
Adapt a PoolableObjectFactory instance to work where a KeyedPoolableObjectFactory is needed. The key is ignored.
Parameters:
factory - the PoolableObjectFactory to delegate to.
Returns:
a KeyedPoolableObjectFactory that delegates to factory ignoring the key.
Since:
Pool 1.3

checkMinIdle

public static Map checkMinIdle(KeyedObjectPool keyedPool,
                               Collection keys,
                               int minIdle,
                               long period)
            throws IllegalArgumentException
Periodically check the idle object count for each key in the Collection keys in the keyedPool. At most one idle object will be added per period.
Parameters:
keyedPool - the keyedPool to check periodically.
keys - a collection of keys to check the idle object count.
minIdle - if the KeyedObjectPool.getNumIdle(Object) is less than this then add an idle object.
period - the frequency to check the number of idle objects in a keyedPool, see Timer.schedule(TimerTask, long, long).
Returns:
a Map of key and TimerTask pairs that will periodically check the pools idle object count.
Since:
Pool 1.3

checkMinIdle

public static TimerTask checkMinIdle(KeyedObjectPool keyedPool,
                                     Object key,
                                     int minIdle,
                                     long period)
            throws IllegalArgumentException
Periodically check the idle object count for the key in the keyedPool. At most one idle object will be added per period. If there is an exception when calling KeyedObjectPool.addObject(Object) then no more checks for that key will be performed.
Parameters:
keyedPool - the keyedPool to check periodically.
key - the key to check the idle count of.
minIdle - if the KeyedObjectPool.getNumIdle(Object) is less than this then add an idle object.
period - the frequency to check the number of idle objects in a keyedPool, see Timer.schedule(TimerTask, long, long).
Returns:
the TimerTask that will periodically check the pools idle object count.
Since:
Pool 1.3

checkMinIdle

public static TimerTask checkMinIdle(ObjectPool pool,
                                     int minIdle,
                                     long period)
            throws IllegalArgumentException
Periodically check the idle object count for the keyedPool. At most one idle object will be added per period. If there is an exception when calling ObjectPool.addObject() then no more checks will be performed.
Parameters:
pool - the keyedPool to check periodically.
minIdle - if the ObjectPool.getNumIdle() is less than this then add an idle object.
period - the frequency to check the number of idle objects in a keyedPool, see Timer.schedule(TimerTask, long, long).
Returns:
the TimerTask that will periodically check the pools idle object count.
Since:
Pool 1.3

checkedPool

public static KeyedObjectPool checkedPool(KeyedObjectPool keyedPool,
                                          Class type)
Wraps an KeyedObjectPool and dynamically checks the type of objects borrowed and returned to the keyedPool. If an object is passed to the keyedPool that isn't of type type a ClassCastException will be thrown.
Parameters:
keyedPool - the keyedPool to enforce type safety on
Returns:
an KeyedObjectPool that will only allow objects of type
Since:
Pool 1.3

checkedPool

public static ObjectPool checkedPool(ObjectPool pool,
                                     Class type)
Wraps an ObjectPool and dynamically checks the type of objects borrowed and returned to the keyedPool. If an object is passed to the keyedPool that isn't of type type a ClassCastException will be thrown.
Parameters:
pool - the keyedPool to enforce type safety on
Returns:
an ObjectPool that will only allow objects of type
Since:
Pool 1.3

prefill

public static void prefill(KeyedObjectPool keyedPool,
                           Collection keys,
                           int count)
            throws Exception,
                   IllegalArgumentException
Call addObject(Object) on keyedPool with each key in keys for count number of times. This has the same effect as calling prefill(KeyedObjectPool,Object,int) for each key in the keys collection.
Parameters:
keyedPool - the keyedPool to prefill.
keys - Collection of keys to add objects for.
count - the number of idle objects to add for each key.
Since:
Pool 1.3

prefill

public static void prefill(KeyedObjectPool keyedPool,
                           Object key,
                           int count)
            throws Exception,
                   IllegalArgumentException
Call addObject(Object) on keyedPool with key count number of times.
Parameters:
keyedPool - the keyedPool to prefill.
key - the key to add objects for.
count - the number of idle objects to add for key.
Since:
Pool 1.3

prefill

public static void prefill(ObjectPool pool,
                           int count)
            throws Exception,
                   IllegalArgumentException
Call addObject() on keyedPool count number of times.
Parameters:
pool - the keyedPool to prefill.
count - the number of idle objects to add.
Since:
Pool 1.3

synchronizedPool

public static KeyedObjectPool synchronizedPool(KeyedObjectPool keyedPool)
Returns a synchronized (thread-safe) KeyedObjectPool backed by the specified KeyedObjectPool.
Parameters:
keyedPool - the KeyedObjectPool to be "wrapped" in a synchronized KeyedObjectPool.
Returns:
a synchronized view of the specified KeyedObjectPool.
Since:
Pool 1.3

synchronizedPool

public static ObjectPool synchronizedPool(ObjectPool pool)
Returns a synchronized (thread-safe) ObjectPool backed by the specified ObjectPool.
Parameters:
pool - the ObjectPool to be "wrapped" in a synchronized ObjectPool.
Returns:
a synchronized view of the specified ObjectPool.
Since:
Pool 1.3

synchronizedPoolableFactory

public static KeyedPoolableObjectFactory synchronizedPoolableFactory(KeyedPoolableObjectFactory keyedFactory)
Returns a synchronized (thread-safe) KeyedPoolableObjectFactory backed by the specified KeyedPoolableObjectFactory.
Parameters:
keyedFactory - the KeyedPoolableObjectFactory to be "wrapped" in a synchronized KeyedPoolableObjectFactory.
Returns:
a synchronized view of the specified KeyedPoolableObjectFactory.
Since:
Pool 1.3

synchronizedPoolableFactory

public static PoolableObjectFactory synchronizedPoolableFactory(PoolableObjectFactory factory)
Returns a synchronized (thread-safe) PoolableObjectFactory backed by the specified PoolableObjectFactory.
Parameters:
factory - the PoolableObjectFactory to be "wrapped" in a synchronized PoolableObjectFactory.
Returns:
a synchronized view of the specified PoolableObjectFactory.
Since:
Pool 1.3

Copyright © 2001-2003 Apache Software Foundation. Documenation generated September 16 2007.