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
Fields Modifier and Type Field Description private float
factor
Erosion factor - same for all poolsprivate java.util.Map<K,PoolUtils.ErodingFactor>
factors
Map of ErodingFactor instances keyed on pool keys
-
Constructor Summary
Constructors Constructor Description ErodingPerKeyKeyedObjectPool(KeyedObjectPool<K,V> keyedPool, float factor)
Create a new ErordingPerKeyKeyedObjectPool decorating the given keyed pool with the specified erosion factor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PoolUtils.ErodingFactor
getErodingFactor(K key)
Returns the eroding factor for the given keyprotected int
numIdle(K key)
Returns the total number of instances currently idle in this pool (optional operation).java.lang.String
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 Detail
-
factor
private final float factor
Erosion factor - same for all pools
-
factors
private final java.util.Map<K,PoolUtils.ErodingFactor> factors
Map of ErodingFactor instances keyed on pool keys
-
-
Constructor Detail
-
ErodingPerKeyKeyedObjectPool
public ErodingPerKeyKeyedObjectPool(KeyedObjectPool<K,V> keyedPool, float factor)
Create a new ErordingPerKeyKeyedObjectPool decorating the given keyed pool with the specified erosion factor.- Parameters:
keyedPool
- underlying keyed poolfactor
- erosion factor
-
-
Method Detail
-
numIdle
protected int numIdle(K key)
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
protected PoolUtils.ErodingFactor getErodingFactor(K key)
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
public java.lang.String toString()
- Overrides:
toString
in classPoolUtils.ErodingKeyedObjectPool<K,V>
-
-