Package org.apache.commons.pool2.impl

## Class EvictionConfig

- java.lang.Object
- - org.apache.commons.pool2.impl.EvictionConfig

-     public class EvictionConfig
      extends Object

  This class is used by pool implementations to pass configuration information to `EvictionPolicy` instances. The `EvictionPolicy` may also have its own specific configuration attributes.

  This class is immutable and thread-safe.

  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `EvictionConfig​(long poolIdleEvictMillis, long poolIdleSoftEvictMillis, int minIdle)` | Deprecated. Use `EvictionConfig(Duration, Duration, int)`.
    `EvictionConfig​(Duration idleEvictDuration, Duration idleSoftEvictDuration, int minIdle)` | Creates a new eviction configuration with the specified parameters.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Duration` | `getIdleEvictDuration()` | Gets the `idleEvictTime` for this eviction configuration instance.
    `long` | `getIdleEvictTime()` | Deprecated. Use `getIdleEvictDuration()`.
    `Duration` | `getIdleEvictTimeDuration()` | Deprecated. Use `getIdleEvictDuration()`.
    `Duration` | `getIdleSoftEvictDuration()` | Gets the `idleSoftEvictTime` for this eviction configuration instance.
    `long` | `getIdleSoftEvictTime()` | Deprecated. Use `getIdleSoftEvictDuration()`.
    `Duration` | `getIdleSoftEvictTimeDuration()` | Deprecated. Use `getIdleSoftEvictDuration()`.
    `int` | `getMinIdle()` | Gets the `minIdle` for this eviction configuration instance.
    `String` | `toString()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### EvictionConfig

          public EvictionConfig​(Duration idleEvictDuration,
                                Duration idleSoftEvictDuration,
                                int minIdle)

      Creates a new eviction configuration with the specified parameters. Instances are immutable.
      Parameters:
        `idleEvictDuration` - Expected to be provided by `BaseGenericObjectPool.getMinEvictableIdleDuration()`
        `idleSoftEvictDuration` - Expected to be provided by `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
        `minIdle` - Expected to be provided by `GenericObjectPool.getMinIdle()` or `GenericKeyedObjectPool.getMinIdlePerKey()`
      Since:
        2.10.0

    - #### EvictionConfig

          @Deprecated
          public EvictionConfig​(long poolIdleEvictMillis,
                                long poolIdleSoftEvictMillis,
                                int minIdle)

      Deprecated.
      Use `EvictionConfig(Duration, Duration, int)`.
      Creates a new eviction configuration with the specified parameters. Instances are immutable.
      Parameters:
        `poolIdleEvictMillis` - Expected to be provided by `BaseGenericObjectPool.getMinEvictableIdleDuration()`
        `poolIdleSoftEvictMillis` - Expected to be provided by `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
        `minIdle` - Expected to be provided by `GenericObjectPool.getMinIdle()` or `GenericKeyedObjectPool.getMinIdlePerKey()`

  - ### Method Detail

    - #### getIdleEvictDuration

          public Duration getIdleEvictDuration()

      Gets the `idleEvictTime` for this eviction configuration instance.

      How the evictor behaves based on this value will be determined by the configured `EvictionPolicy`.

      Returns:
        The `idleEvictTime`.
      Since:
        2.11.0

    - #### getIdleEvictTime

          @Deprecated
          public long getIdleEvictTime()

      Deprecated.
      Use `getIdleEvictDuration()`.
      Gets the `idleEvictTime` for this eviction configuration instance.

      How the evictor behaves based on this value will be determined by the configured `EvictionPolicy`.

      Returns:
        The `idleEvictTime` in milliseconds

    - #### getIdleEvictTimeDuration

          @Deprecated
          public Duration getIdleEvictTimeDuration()

      Deprecated.
      Use `getIdleEvictDuration()`.
      Gets the `idleEvictTime` for this eviction configuration instance.

      How the evictor behaves based on this value will be determined by the configured `EvictionPolicy`.

      Returns:
        The `idleEvictTime`.
      Since:
        2.10.0

    - #### getIdleSoftEvictDuration

          public Duration getIdleSoftEvictDuration()

      Gets the `idleSoftEvictTime` for this eviction configuration instance.

      How the evictor behaves based on this value will be determined by the configured `EvictionPolicy`.

      Returns:
        The (@code idleSoftEvictTime} in milliseconds
      Since:
        2.11.0

    - #### getIdleSoftEvictTime

          @Deprecated
          public long getIdleSoftEvictTime()

      Deprecated.
      Use `getIdleSoftEvictDuration()`.
      Gets the `idleSoftEvictTime` for this eviction configuration instance.

      How the evictor behaves based on this value will be determined by the configured `EvictionPolicy`.

      Returns:
        The (@code idleSoftEvictTime} in milliseconds

    - #### getIdleSoftEvictTimeDuration

          @Deprecated
          public Duration getIdleSoftEvictTimeDuration()

      Deprecated.
      Use `getIdleSoftEvictDuration()`.
      Gets the `idleSoftEvictTime` for this eviction configuration instance.

      How the evictor behaves based on this value will be determined by the configured `EvictionPolicy`.

      Returns:
        The (@code idleSoftEvictTime} in milliseconds

    - #### getMinIdle

          public int getMinIdle()

      Gets the `minIdle` for this eviction configuration instance.

      How the evictor behaves based on this value will be determined by the configured `EvictionPolicy`.

      Returns:
        The `minIdle`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`
      Since:
        2.4