Package 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
`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
`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