Class PoolUtils.ErodingPerKeyKeyedObjectPool<K,​V>

  • Type Parameters:
    K - object pool key type
    V - 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 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 pool
        factor - erosion factor