Package org.apache.tomcat.dbcp.pool2
Class PoolUtils
- java.lang.Object
- 
- org.apache.tomcat.dbcp.pool2.PoolUtils
 
- 
 public final class PoolUtils extends java.lang.ObjectThis class consists exclusively of static methods that operate on or return ObjectPool or KeyedObjectPool related interfaces.- Since:
- 2.0
 
- 
- 
Field SummaryFields Modifier and Type Field Description static java.lang.StringMSG_NULL_KEYstatic java.lang.StringMSG_NULL_KEYS
 - 
Constructor SummaryConstructors Constructor Description PoolUtils()PoolUtils instances should NOT be constructed in standard programming.
 - 
Method SummaryAll Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <K,V>
 java.util.Map<K,java.util.TimerTask>checkMinIdle(KeyedObjectPool<K,V> keyedPool, java.util.Collection<K> keys, int minIdle, long period)Periodically check the idle object count for each key in theCollection keysin the keyedPool.static <K,V>
 java.util.TimerTaskcheckMinIdle(KeyedObjectPool<K,V> keyedPool, K key, int minIdle, long period)Periodically check the idle object count for the key in the keyedPool.static <T> java.util.TimerTaskcheckMinIdle(ObjectPool<T> pool, int minIdle, long period)Periodically check the idle object count for the pool.static voidcheckRethrow(java.lang.Throwable t)Should the supplied Throwable be re-thrown (eg if it is an instance of one of the Throwables that should never be swallowed).static <K,V>
 voidprefill(KeyedObjectPool<K,V> keyedPool, java.util.Collection<K> keys, int count)Deprecated.static <K,V>
 voidprefill(KeyedObjectPool<K,V> keyedPool, K key, int count)Deprecated.static <T> voidprefill(ObjectPool<T> pool, int count)Deprecated.static <K,V>
 KeyedPooledObjectFactory<K,V>synchronizedKeyedPooledFactory(KeyedPooledObjectFactory<K,V> keyedFactory)Returns a synchronized (thread-safe) KeyedPooledObjectFactory backed by the specified KeyedPoolableObjectFactory.static <T> PooledObjectFactory<T>synchronizedPooledFactory(PooledObjectFactory<T> factory)Returns a synchronized (thread-safe) PooledObjectFactory backed by the specified PooledObjectFactory.
 
- 
- 
- 
Field Detail- 
MSG_NULL_KEYpublic static final java.lang.String MSG_NULL_KEY - See Also:
- Constant Field Values
 
 - 
MSG_NULL_KEYSpublic static final java.lang.String MSG_NULL_KEYS - See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
checkRethrowpublic static void checkRethrow(java.lang.Throwable t) Should the supplied Throwable be re-thrown (eg if it is an instance of one of the Throwables that should never be swallowed). Used by the pool error handling for operations that throw exceptions that normally need to be ignored.- Parameters:
- t- The Throwable to check
- Throws:
- java.lang.ThreadDeath- if that is passed in
- java.lang.VirtualMachineError- if that is passed in
 
 - 
checkMinIdlepublic static <T> java.util.TimerTask checkMinIdle(ObjectPool<T> pool, int minIdle, long period) throws java.lang.IllegalArgumentException Periodically check the idle object count for the pool. At most one idle object will be added per period. If there is an exception when callingObjectPool.addObject()then no more checks will be performed.- Type Parameters:
- T- the type of objects in the pool
- Parameters:
- pool- the pool 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 pool, see- Timer.schedule(TimerTask, long, long).
- Returns:
- the TimerTaskthat will periodically check the pools idle object count.
- Throws:
- java.lang.IllegalArgumentException- when- poolis- nullor when- minIdleis negative or when- periodisn't valid for- Timer.schedule(TimerTask, long, long)
 
 - 
checkMinIdlepublic static <K,V> java.util.TimerTask checkMinIdle(KeyedObjectPool<K,V> keyedPool, K key, int minIdle, long period) throws java.lang.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 callingKeyedObjectPool.addObject(Object)then no more checks for that key will be performed.- Type Parameters:
- K- the type of the pool key
- V- the type of pool entries
- 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 TimerTaskthat will periodically check the pools idle object count.
- Throws:
- java.lang.IllegalArgumentException- when- keyedPool,- keyis- nullor when- minIdleis negative or when- periodisn't valid for- Timer.schedule(TimerTask, long, long).
 
 - 
checkMinIdlepublic static <K,V> java.util.Map<K,java.util.TimerTask> checkMinIdle(KeyedObjectPool<K,V> keyedPool, java.util.Collection<K> keys, int minIdle, long period) throws java.lang.IllegalArgumentException Periodically check the idle object count for each key in theCollection keysin the keyedPool. At most one idle object will be added per period.- Type Parameters:
- K- the type of the pool key
- V- the type of pool entries
- 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 Mapof key andTimerTaskpairs that will periodically check the pools idle object count.
- Throws:
- java.lang.IllegalArgumentException- when- keyedPool,- keys, or any of the values in the collection is- nullor when- minIdleis negative or when- periodisn't valid for- Timer.schedule(TimerTask, long, long).
- See Also:
- checkMinIdle(KeyedObjectPool, Object, int, long)
 
 - 
prefill@Deprecated public static <T> void prefill(ObjectPool<T> pool, int count) throws java.lang.Exception, java.lang.IllegalArgumentException Deprecated.- Type Parameters:
- T- the type of objects in the pool
- Parameters:
- pool- the pool to prefill.
- count- the number of idle objects to add.
- Throws:
- java.lang.Exception- when- ObjectPool.addObject()fails.
- java.lang.IllegalArgumentException- when- poolis- null.
 
 - 
prefill@Deprecated public static <K,V> void prefill(KeyedObjectPool<K,V> keyedPool, K key, int count) throws java.lang.Exception, java.lang.IllegalArgumentException Deprecated.- Type Parameters:
- K- the type of the pool key
- V- the type of pool entries
- Parameters:
- keyedPool- the keyedPool to prefill.
- key- the key to add objects for.
- count- the number of idle objects to add for- key.
- Throws:
- java.lang.Exception- when- KeyedObjectPool.addObject(Object)fails.
- java.lang.IllegalArgumentException- when- keyedPoolor- keyis- null.
 
 - 
prefill@Deprecated public static <K,V> void prefill(KeyedObjectPool<K,V> keyedPool, java.util.Collection<K> keys, int count) throws java.lang.Exception, java.lang.IllegalArgumentException Deprecated.CallsKeyedObjectPool.addObject(Object)onkeyedPoolwith each key inkeysforcountnumber of times. This has the same effect as callingprefill(KeyedObjectPool, Object, int)for each key in thekeyscollection.- Type Parameters:
- K- the type of the pool key
- V- the type of pool entries
- Parameters:
- keyedPool- the keyedPool to prefill.
- keys-- Collectionof keys to add objects for.
- count- the number of idle objects to add for each- key.
- Throws:
- java.lang.Exception- when- KeyedObjectPool.addObject(Object)fails.
- java.lang.IllegalArgumentException- when- keyedPool,- keys, or any value in- keysis- null.
- See Also:
- prefill(KeyedObjectPool, Object, int)
 
 - 
synchronizedPooledFactorypublic static <T> PooledObjectFactory<T> synchronizedPooledFactory(PooledObjectFactory<T> factory) Returns a synchronized (thread-safe) PooledObjectFactory backed by the specified PooledObjectFactory.- Type Parameters:
- T- the type of objects in the pool
- Parameters:
- factory- the PooledObjectFactory to be "wrapped" in a synchronized PooledObjectFactory.
- Returns:
- a synchronized view of the specified PooledObjectFactory.
 
 - 
synchronizedKeyedPooledFactorypublic static <K,V> KeyedPooledObjectFactory<K,V> synchronizedKeyedPooledFactory(KeyedPooledObjectFactory<K,V> keyedFactory) Returns a synchronized (thread-safe) KeyedPooledObjectFactory backed by the specified KeyedPoolableObjectFactory.- Type Parameters:
- K- the type of the pool key
- V- the type of pool entries
- Parameters:
- keyedFactory- the KeyedPooledObjectFactory to be "wrapped" in a synchronized KeyedPooledObjectFactory.
- Returns:
- a synchronized view of the specified KeyedPooledObjectFactory.
 
 
- 
 
-