Package org.apache.commons.pool
Class PoolUtils.ErodingPerKeyKeyedObjectPool<K,V>
java.lang.Object
org.apache.commons.pool.PoolUtils.ErodingKeyedObjectPool<K,V>
org.apache.commons.pool.PoolUtils.ErodingPerKeyKeyedObjectPool<K,V>
- All Implemented Interfaces:
KeyedObjectPool<K,
V>
- Enclosing class:
PoolUtils
private static class PoolUtils.ErodingPerKeyKeyedObjectPool<K,V>
extends PoolUtils.ErodingKeyedObjectPool<K,V>
Extends ErodingKeyedObjectPool to allow erosion to take place on a per-key
basis. Timing of erosion events is tracked separately for separate keyed pools.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final float
Erosion factor - same for all poolsprivate final Map
<K, PoolUtils.ErodingFactor> Map of ErodingFactor instances keyed on pool keys -
Constructor Summary
ConstructorsConstructorDescriptionErodingPerKeyKeyedObjectPool
(KeyedObjectPool<K, V> keyedPool, float factor) Create a new ErordingPerKeyKeyedObjectPool decorating the given keyed pool with the specified erosion factor. -
Method Summary
Modifier and TypeMethodDescriptionprotected PoolUtils.ErodingFactor
getErodingFactor
(K key) Returns the eroding factor for the given keyprotected int
Returns the total number of instances currently idle in this pool (optional operation).toString()
Methods inherited from class org.apache.commons.pool.PoolUtils.ErodingKeyedObjectPool
addObject, borrowObject, clear, clear, close, getKeyedPool, getNumActive, getNumActive, getNumIdle, getNumIdle, invalidateObject, returnObject, setFactory
-
Field Details
-
factor
private final float factorErosion factor - same for all pools -
factors
Map of ErodingFactor instances keyed on pool keys
-
-
Constructor Details
-
ErodingPerKeyKeyedObjectPool
Create a new ErordingPerKeyKeyedObjectPool decorating the given keyed pool with the specified erosion factor.- Parameters:
keyedPool
- underlying keyed poolfactor
- erosion factor
-
-
Method Details
-
numIdle
Returns the total number of instances currently idle in this pool (optional operation). Returns a negative value if this information is not available.- Overrides:
numIdle
in classPoolUtils.ErodingKeyedObjectPool<K,
V> - Parameters:
key
- ignored- Returns:
- the total number of instances currently idle in this pool or a negative value if unsupported
-
getErodingFactor
Returns the eroding factor for the given key- Overrides:
getErodingFactor
in classPoolUtils.ErodingKeyedObjectPool<K,
V> - Parameters:
key
- key- Returns:
- eroding factor for the given keyed pool
-
toString
- Overrides:
toString
in classPoolUtils.ErodingKeyedObjectPool<K,
V>
-