org.apache.tomcat.dbcp.pool2.impl

## Class EvictionConfig

- java.lang.Object
- - org.apache.tomcat.dbcp.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 and Description
    `EvictionConfig(Duration idleEvictDuration, Duration idleSoftEvictDuration, int minIdle)` Creates a new eviction configuration with the specified parameters.
    `EvictionConfig(long poolIdleEvictMillis, long poolIdleSoftEvictMillis, int minIdle)` Deprecated. Use `EvictionConfig(Duration, Duration, int)`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and 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

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.