Class PoolUtils.ErodingPerKeyKeyedObjectPool<K,V>
- java.lang.Object
-
- org.datanucleus.store.rdbms.datasource.dbcp2.pool2.PoolUtils.ErodingKeyedObjectPool<K,V>
-
- org.datanucleus.store.rdbms.datasource.dbcp2.pool2.PoolUtils.ErodingPerKeyKeyedObjectPool<K,V>
-
- Type Parameters:
K
- object pool key typeV
- object pool value type
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,KeyedObjectPool<K,V>
- Enclosing class:
- PoolUtils
private static final 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)
Creates 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 keyjava.lang.String
toString()
-
Methods inherited from class org.datanucleus.store.rdbms.datasource.dbcp2.pool2.PoolUtils.ErodingKeyedObjectPool
addObject, borrowObject, clear, clear, close, getKeyedPool, getNumActive, getNumActive, getNumIdle, getNumIdle, invalidateObject, returnObject
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.datanucleus.store.rdbms.datasource.dbcp2.pool2.KeyedObjectPool
addObjects, addObjects
-
-
-
-
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)
Creates a new ErordingPerKeyKeyedObjectPool decorating the given keyed pool with the specified erosion factor.- Parameters:
keyedPool
- underlying keyed poolfactor
- erosion factor
-
-
Method Detail
-
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>
-
-