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 type
V - object pool value type
All Implemented Interfaces:
Closeable, 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 Details

    • factor

      private final float factor
      Erosion factor - same for all pools
    • factors

      private final Map<K,PoolUtils.ErodingFactor> factors
      Map of ErodingFactor instances keyed on pool keys
  • Constructor Details

    • 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 pool
      factor - erosion factor
  • Method Details