# Class BaseObjectPoolConfig<T>

java.lang.Object
org.apache.tomcat.dbcp.pool2.BaseObject
org.apache.tomcat.dbcp.pool2.impl.BaseObjectPoolConfig<T>

Type Parameters:
  `T` - Type of element pooled.

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `GenericKeyedObjectPoolConfig, GenericObjectPoolConfig`

public abstract class BaseObjectPoolConfig<T> extends BaseObject implements Cloneable
Provides the implementation for the common attributes shared by the sub-classes. New instances of this class will be created using the defaults defined by the public constants.

This class is not thread-safe.

Since:
  2.0

## Field Summary

Fields
Modifier and Type
Field
Description
`static final boolean`
`DEFAULT_BLOCK_WHEN_EXHAUSTED`
The default value for the `blockWhenExhausted` configuration attribute: true.
`static final Duration`
`DEFAULT_DURATION_BETWEEN_EVICTION_RUNS`
The default value for the `timeBetweenEvictionRuns` configuration attribute.
`static final String`
`DEFAULT_EVICTION_POLICY_CLASS_NAME`
The default value for the `evictionPolicyClassName` configuration attribute.
`static final Duration`
`DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT`
The default value for `evictorShutdownTimeout` configuration attribute.
`static final long`
`DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT_MILLIS`
Deprecated.
Use `DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT`.
`static final boolean`
`DEFAULT_FAIRNESS`
The default value for the `fairness` configuration attribute: false.
`static final boolean`
`DEFAULT_JMX_ENABLE`
The default value for enabling JMX for pools created with a configuration instance: true.
`static final String`
`DEFAULT_JMX_NAME_BASE`
The default value for the base name to use to name JMX enabled pools created with a configuration instance.
`static final String`
`DEFAULT_JMX_NAME_PREFIX`
The default value for the prefix used to name JMX enabled pools created with a configuration instance: "pool".
`static final boolean`
`DEFAULT_LIFO`
The default value for the `lifo` configuration attribute: true.
`static final Duration`
`DEFAULT_MAX_WAIT`
The default value for the `maxWait` configuration attribute.
`static final long`
`DEFAULT_MAX_WAIT_MILLIS`
Deprecated.
Use `DEFAULT_MAX_WAIT`.
`static final Duration`
`DEFAULT_MIN_EVICTABLE_IDLE_DURATION`
The default value for the `minEvictableIdleDuration` configuration attribute.
`static final Duration`
`DEFAULT_MIN_EVICTABLE_IDLE_TIME`
Deprecated.
Use `DEFAULT_MIN_EVICTABLE_IDLE_DURATION`.
`static final long`
`DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS`
Deprecated.
Use `DEFAULT_MIN_EVICTABLE_IDLE_TIME`.
`static final int`
`DEFAULT_NUM_TESTS_PER_EVICTION_RUN`
The default value for the `numTestsPerEvictionRun` configuration attribute: 3.
`static final Duration`
`DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION`
The default value for the `softMinEvictableIdleTime` configuration attribute.
`static final Duration`
`DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME`
Deprecated.
Use `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION`.
`static final long`
`DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS`
Deprecated.
Use `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME`.
`static final boolean`
`DEFAULT_TEST_ON_BORROW`
The default value for the `testOnBorrow` configuration attribute: false.
`static final boolean`
`DEFAULT_TEST_ON_CREATE`
The default value for the `testOnCreate` configuration attribute: false.
`static final boolean`
`DEFAULT_TEST_ON_RETURN`
The default value for the `testOnReturn` configuration attribute: false.
`static final boolean`
`DEFAULT_TEST_WHILE_IDLE`
The default value for the `testWhileIdle` configuration attribute: false.
`static final Duration`
`DEFAULT_TIME_BETWEEN_EVICTION_RUNS`
Deprecated.
Use `DEFAULT_DURATION_BETWEEN_EVICTION_RUNS`.
`static final long`
`DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS`
Deprecated.
Use `DEFAULT_TIME_BETWEEN_EVICTION_RUNS`.

## Constructor Summary

Constructors
Constructor
Description
`BaseObjectPoolConfig()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`getBlockWhenExhausted()`
Gets the value for the `blockWhenExhausted` configuration attribute for pools created with this configuration instance.
`Duration`
`getDurationBetweenEvictionRuns()`
Gets the value for the `timeBetweenEvictionRuns` configuration attribute for pools created with this configuration instance.
`EvictionPolicy<T>`
`getEvictionPolicy()`
Gets the value for the `evictionPolicyClass` configuration attribute for pools created with this configuration instance.
`String`
`getEvictionPolicyClassName()`
Gets the value for the `evictionPolicyClassName` configuration attribute for pools created with this configuration instance.
`Duration`
`getEvictorShutdownTimeout()`
Deprecated.
Use `getEvictorShutdownTimeoutDuration()`.
`Duration`
`getEvictorShutdownTimeoutDuration()`
Gets the value for the `evictorShutdownTimeout` configuration attribute for pools created with this configuration instance.
`long`
`getEvictorShutdownTimeoutMillis()`
Deprecated.
Use `getEvictorShutdownTimeout()`.
`boolean`
`getFairness()`
Gets the value for the `fairness` configuration attribute for pools created with this configuration instance.
`boolean`
`getJmxEnabled()`
Gets the value of the flag that determines if JMX will be enabled for pools created with this configuration instance.
`String`
`getJmxNameBase()`
Gets the value of the JMX name base that will be used as part of the name assigned to JMX enabled pools created with this configuration instance.
`String`
`getJmxNamePrefix()`
Gets the value of the JMX name prefix that will be used as part of the name assigned to JMX enabled pools created with this configuration instance.
`boolean`
`getLifo()`
Gets the value for the `lifo` configuration attribute for pools created with this configuration instance.
`Duration`
`getMaxWaitDuration()`
Gets the value for the `maxWait` configuration attribute for pools created with this configuration instance.
`long`
`getMaxWaitMillis()`
Deprecated.
Use `getMaxWaitDuration()`.
`Duration`
`getMinEvictableIdleDuration()`
Gets the value for the `minEvictableIdleTime` configuration attribute for pools created with this configuration instance.
`Duration`
`getMinEvictableIdleTime()`
Deprecated.
Use `getMinEvictableIdleDuration()`.
`long`
`getMinEvictableIdleTimeMillis()`
Deprecated.
Use `getMinEvictableIdleTime()`.
`int`
`getNumTestsPerEvictionRun()`
Gets the value for the `numTestsPerEvictionRun` configuration attribute for pools created with this configuration instance.
`Duration`
`getSoftMinEvictableIdleDuration()`
Gets the value for the `softMinEvictableIdleTime` configuration attribute for pools created with this configuration instance.
`Duration`
`getSoftMinEvictableIdleTime()`
Deprecated.
Use `getSoftMinEvictableIdleDuration()`.
`long`
`getSoftMinEvictableIdleTimeMillis()`
Deprecated.
Use `getSoftMinEvictableIdleDuration()`.
`boolean`
`getTestOnBorrow()`
Gets the value for the `testOnBorrow` configuration attribute for pools created with this configuration instance.
`boolean`
`getTestOnCreate()`
Gets the value for the `testOnCreate` configuration attribute for pools created with this configuration instance.
`boolean`
`getTestOnReturn()`
Gets the value for the `testOnReturn` configuration attribute for pools created with this configuration instance.
`boolean`
`getTestWhileIdle()`
Gets the value for the `testWhileIdle` configuration attribute for pools created with this configuration instance.
`Duration`
`getTimeBetweenEvictionRuns()`
Deprecated.
Use `getDurationBetweenEvictionRuns()`.
`long`
`getTimeBetweenEvictionRunsMillis()`
Deprecated.
Use `getDurationBetweenEvictionRuns()`.
`void`
`setBlockWhenExhausted(boolean blockWhenExhausted)`
Sets the value for the `blockWhenExhausted` configuration attribute for pools created with this configuration instance.
`void`
`setEvictionPolicy(EvictionPolicy<T> evictionPolicy)`
Sets the value for the `evictionPolicyClass` configuration attribute for pools created with this configuration instance.
`void`
`setEvictionPolicyClassName(String evictionPolicyClassName)`
Sets the value for the `evictionPolicyClassName` configuration attribute for pools created with this configuration instance.
`void`
`setEvictorShutdownTimeout(Duration evictorShutdownTimeoutDuration)`
Sets the value for the `evictorShutdownTimeout` configuration attribute for pools created with this configuration instance.
`void`
`setEvictorShutdownTimeoutMillis(long evictorShutdownTimeoutMillis)`
Deprecated.
Use `setEvictorShutdownTimeout(Duration)`.
`void`
`setEvictorShutdownTimeoutMillis(Duration evictorShutdownTimeout)`
Deprecated.
Use `setEvictorShutdownTimeout(Duration)`.
`void`
`setFairness(boolean fairness)`
Sets the value for the `fairness` configuration attribute for pools created with this configuration instance.
`void`
`setJmxEnabled(boolean jmxEnabled)`
Sets the value of the flag that determines if JMX will be enabled for pools created with this configuration instance.
`void`
`setJmxNameBase(String jmxNameBase)`
Sets the value of the JMX name base that will be used as part of the name assigned to JMX enabled pools created with this configuration instance.
`void`
`setJmxNamePrefix(String jmxNamePrefix)`
Sets the value of the JMX name prefix that will be used as part of the name assigned to JMX enabled pools created with this configuration instance.
`void`
`setLifo(boolean lifo)`
Sets the value for the `lifo` configuration attribute for pools created with this configuration instance.
`void`
`setMaxWait(Duration maxWaitDuration)`
Sets the value for the `maxWait` configuration attribute for pools created with this configuration instance.
`void`
`setMaxWaitMillis(long maxWaitMillis)`
Deprecated.
Use `setMaxWait(Duration)`.
`void`
`setMinEvictableIdleDuration(Duration minEvictableIdleTime)`
Sets the value for the `minEvictableIdleTime` configuration attribute for pools created with this configuration instance.
`void`
`setMinEvictableIdleTime(Duration minEvictableIdleTime)`
Deprecated.
Use `setMinEvictableIdleDuration(Duration)`.
`void`
`setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis)`
Deprecated.
Use `setMinEvictableIdleDuration(Duration)`.
`void`
`setNumTestsPerEvictionRun(int numTestsPerEvictionRun)`
Sets the value for the `numTestsPerEvictionRun` configuration attribute for pools created with this configuration instance.
`void`
`setSoftMinEvictableIdleDuration(Duration softMinEvictableIdleTime)`
Sets the value for the `softMinEvictableIdleTime` configuration attribute for pools created with this configuration instance.
`void`
`setSoftMinEvictableIdleTime(Duration softMinEvictableIdleTime)`
Deprecated.
Use `setSoftMinEvictableIdleDuration(Duration)`.
`void`
`setSoftMinEvictableIdleTimeMillis(long softMinEvictableIdleTimeMillis)`
Deprecated.
Use `setSoftMinEvictableIdleDuration(Duration)`.
`void`
`setTestOnBorrow(boolean testOnBorrow)`
Sets the value for the `testOnBorrow` configuration attribute for pools created with this configuration instance.
`void`
`setTestOnCreate(boolean testOnCreate)`
Sets the value for the `testOnCreate` configuration attribute for pools created with this configuration instance.
`void`
`setTestOnReturn(boolean testOnReturn)`
Sets the value for the `testOnReturn` configuration attribute for pools created with this configuration instance.
`void`
`setTestWhileIdle(boolean testWhileIdle)`
Sets the value for the `testWhileIdle` configuration attribute for pools created with this configuration instance.
`void`
`setTimeBetweenEvictionRuns(Duration timeBetweenEvictionRuns)`
Sets the value for the `timeBetweenEvictionRuns` configuration attribute for pools created with this configuration instance.
`void`
`setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis)`
Deprecated.
Use `setTimeBetweenEvictionRuns(Duration)`.
`protected void`
`toStringAppendFields(StringBuilder builder)`
Used by sub-classes to include the fields defined by the sub-class in the `BaseObject.toString()` output.

### Methods inherited from class BaseObject

`toString`

### Methods inherited from class Object

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

## Field Details

### DEFAULT_LIFO

public static final boolean DEFAULT_LIFO
The default value for the `lifo` configuration attribute: true.

See Also:
  - `BaseGenericObjectPool.getLifo()`
  - `BaseGenericObjectPool.getLifo()`
  - Constant Field Values

### DEFAULT_FAIRNESS

public static final boolean DEFAULT_FAIRNESS
The default value for the `fairness` configuration attribute: false.

See Also:
  - `BaseGenericObjectPool.getFairness()`
  - `BaseGenericObjectPool.getFairness()`
  - Constant Field Values

### DEFAULT_MAX_WAIT_MILLIS

@Deprecated public static final long DEFAULT_MAX_WAIT_MILLIS
Deprecated.
Use `DEFAULT_MAX_WAIT`.
The default value for the `maxWait` configuration attribute: -1L.

See Also:
  - `BaseGenericObjectPool.getMaxWaitDuration()`
  - `BaseGenericObjectPool.getMaxWaitDuration()`
  - Constant Field Values

### DEFAULT_MAX_WAIT

public static final Duration DEFAULT_MAX_WAIT
The default value for the `maxWait` configuration attribute.

Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getMaxWaitDuration()`
  - `BaseGenericObjectPool.getMaxWaitDuration()`

### DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS

@Deprecated public static final long DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS
Deprecated.
Use `DEFAULT_MIN_EVICTABLE_IDLE_TIME`.
The default value for the `minEvictableIdleDuration` configuration attribute: 1800000L.

See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - Constant Field Values

### DEFAULT_MIN_EVICTABLE_IDLE_DURATION

public static final Duration DEFAULT_MIN_EVICTABLE_IDLE_DURATION
The default value for the `minEvictableIdleDuration` configuration attribute.

Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`

### DEFAULT_MIN_EVICTABLE_IDLE_TIME

@Deprecated public static final Duration DEFAULT_MIN_EVICTABLE_IDLE_TIME
Deprecated.
Use `DEFAULT_MIN_EVICTABLE_IDLE_DURATION`.
The default value for the `minEvictableIdleDuration` configuration attribute.

Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`

### DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS

@Deprecated public static final long DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS
Deprecated.
Use `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME`.
The default value for the `softMinEvictableIdleTime` configuration attribute: -1L.

See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - Constant Field Values

### DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME

@Deprecated public static final Duration DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME
Deprecated.
Use `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION`.
The default value for the `softMinEvictableIdleTime` configuration attribute.

Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`

### DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION

public static final Duration DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION
The default value for the `softMinEvictableIdleTime` configuration attribute.

Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`

### DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT_MILLIS

@Deprecated public static final long DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT_MILLIS
Deprecated.
Use `DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT`.
The default value for `evictorShutdownTimeout` configuration attribute: 10000L.

See Also:
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - Constant Field Values

### DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT

public static final Duration DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT
The default value for `evictorShutdownTimeout` configuration attribute.

Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`

### DEFAULT_NUM_TESTS_PER_EVICTION_RUN

public static final int DEFAULT_NUM_TESTS_PER_EVICTION_RUN
The default value for the `numTestsPerEvictionRun` configuration attribute: 3.

See Also:
  - `BaseGenericObjectPool.getNumTestsPerEvictionRun()`
  - `BaseGenericObjectPool.getNumTestsPerEvictionRun()`
  - Constant Field Values

### DEFAULT_TEST_ON_CREATE

public static final boolean DEFAULT_TEST_ON_CREATE
The default value for the `testOnCreate` configuration attribute: false.

Since:
  2.2
See Also:
  - `BaseGenericObjectPool.getTestOnCreate()`
  - `BaseGenericObjectPool.getTestOnCreate()`
  - Constant Field Values

### DEFAULT_TEST_ON_BORROW

public static final boolean DEFAULT_TEST_ON_BORROW
The default value for the `testOnBorrow` configuration attribute: false.

See Also:
  - `BaseGenericObjectPool.getTestOnBorrow()`
  - `BaseGenericObjectPool.getTestOnBorrow()`
  - Constant Field Values

### DEFAULT_TEST_ON_RETURN

public static final boolean DEFAULT_TEST_ON_RETURN
The default value for the `testOnReturn` configuration attribute: false.

See Also:
  - `BaseGenericObjectPool.getTestOnReturn()`
  - `BaseGenericObjectPool.getTestOnReturn()`
  - Constant Field Values

### DEFAULT_TEST_WHILE_IDLE

public static final boolean DEFAULT_TEST_WHILE_IDLE
The default value for the `testWhileIdle` configuration attribute: false.

See Also:
  - `BaseGenericObjectPool.getTestWhileIdle()`
  - `BaseGenericObjectPool.getTestWhileIdle()`
  - Constant Field Values

### DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS

@Deprecated public static final long DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS
Deprecated.
Use `DEFAULT_TIME_BETWEEN_EVICTION_RUNS`.
The default value for the `timeBetweenEvictionRuns` configuration attribute: -1L.

See Also:
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - Constant Field Values

### DEFAULT_DURATION_BETWEEN_EVICTION_RUNS

public static final Duration DEFAULT_DURATION_BETWEEN_EVICTION_RUNS
The default value for the `timeBetweenEvictionRuns` configuration attribute.

Since:
  2.12.0
See Also:
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`

### DEFAULT_TIME_BETWEEN_EVICTION_RUNS

@Deprecated public static final Duration DEFAULT_TIME_BETWEEN_EVICTION_RUNS
Deprecated.
Use `DEFAULT_DURATION_BETWEEN_EVICTION_RUNS`.
The default value for the `timeBetweenEvictionRuns` configuration attribute.

See Also:
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`

### DEFAULT_BLOCK_WHEN_EXHAUSTED

public static final boolean DEFAULT_BLOCK_WHEN_EXHAUSTED
The default value for the `blockWhenExhausted` configuration attribute: true.

See Also:
  - `BaseGenericObjectPool.getBlockWhenExhausted()`
  - `BaseGenericObjectPool.getBlockWhenExhausted()`
  - Constant Field Values

### DEFAULT_JMX_ENABLE

public static final boolean DEFAULT_JMX_ENABLE
The default value for enabling JMX for pools created with a configuration instance: true.

See Also:
  - Constant Field Values

### DEFAULT_JMX_NAME_PREFIX

public static final String DEFAULT_JMX_NAME_PREFIX
The default value for the prefix used to name JMX enabled pools created with a configuration instance: "pool".

See Also:
  - `BaseGenericObjectPool.getJmxName()`
  - `BaseGenericObjectPool.getJmxName()`
  - Constant Field Values

### DEFAULT_JMX_NAME_BASE

public static final String DEFAULT_JMX_NAME_BASE
The default value for the base name to use to name JMX enabled pools created with a configuration instance. The default is `null` which means the pool will provide the base name to use.

See Also:
  - `BaseGenericObjectPool.getJmxName()`
  - `BaseGenericObjectPool.getJmxName()`

### DEFAULT_EVICTION_POLICY_CLASS_NAME

public static final String DEFAULT_EVICTION_POLICY_CLASS_NAME
The default value for the `evictionPolicyClassName` configuration attribute.

See Also:
  - `BaseGenericObjectPool.getEvictionPolicyClassName()`
  - `BaseGenericObjectPool.getEvictionPolicyClassName()`

## Constructor Details

### BaseObjectPoolConfig

public BaseObjectPoolConfig()

## Method Details

### getBlockWhenExhausted

public boolean getBlockWhenExhausted()
Gets the value for the `blockWhenExhausted` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `blockWhenExhausted` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getBlockWhenExhausted()`
  - `BaseGenericObjectPool.getBlockWhenExhausted()`

### getDurationBetweenEvictionRuns

public Duration getDurationBetweenEvictionRuns()
Gets the value for the `timeBetweenEvictionRuns` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `timeBetweenEvictionRuns` for this configuration instance
Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`

### getEvictionPolicy

public EvictionPolicy<T> getEvictionPolicy()
Gets the value for the `evictionPolicyClass` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `evictionPolicyClass` for this configuration instance
Since:
  2.6.0
See Also:
  - `BaseGenericObjectPool.getEvictionPolicy()`
  - `BaseGenericObjectPool.getEvictionPolicy()`

### getEvictionPolicyClassName

public String getEvictionPolicyClassName()
Gets the value for the `evictionPolicyClassName` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `evictionPolicyClassName` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getEvictionPolicyClassName()`
  - `BaseGenericObjectPool.getEvictionPolicyClassName()`

### getEvictorShutdownTimeout

@Deprecated public Duration getEvictorShutdownTimeout()
Deprecated.
Use `getEvictorShutdownTimeoutDuration()`.
Gets the value for the `evictorShutdownTimeout` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `evictorShutdownTimeout` for this configuration instance
Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`

### getEvictorShutdownTimeoutDuration

public Duration getEvictorShutdownTimeoutDuration()
Gets the value for the `evictorShutdownTimeout` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `evictorShutdownTimeout` for this configuration instance
Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`

### getEvictorShutdownTimeoutMillis

@Deprecated public long getEvictorShutdownTimeoutMillis()
Deprecated.
Use `getEvictorShutdownTimeout()`.
Gets the value for the `evictorShutdownTimeout` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `evictorShutdownTimeout` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`

### getFairness

public boolean getFairness()
Gets the value for the `fairness` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `fairness` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getFairness()`
  - `BaseGenericObjectPool.getFairness()`

### getJmxEnabled

public boolean getJmxEnabled()
Gets the value of the flag that determines if JMX will be enabled for pools created with this configuration instance.

Returns:
  The current setting of `jmxEnabled` for this configuration instance

### getJmxNameBase

public String getJmxNameBase()
Gets the value of the JMX name base that will be used as part of the name assigned to JMX enabled pools created with this configuration instance. A value of `null` means that the pool will define the JMX name base.

Returns:
  The current setting of `jmxNameBase` for this configuration instance

### getJmxNamePrefix

public String getJmxNamePrefix()
Gets the value of the JMX name prefix that will be used as part of the name assigned to JMX enabled pools created with this configuration instance.

Returns:
  The current setting of `jmxNamePrefix` for this configuration instance

### getLifo

public boolean getLifo()
Gets the value for the `lifo` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `lifo` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getLifo()`
  - `BaseGenericObjectPool.getLifo()`

### getMaxWaitDuration

public Duration getMaxWaitDuration()
Gets the value for the `maxWait` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `maxWait` for this configuration instance
Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getMaxWaitDuration()`
  - `BaseGenericObjectPool.getMaxWaitDuration()`

### getMaxWaitMillis

@Deprecated public long getMaxWaitMillis()
Deprecated.
Use `getMaxWaitDuration()`.
Gets the value for the `maxWait` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `maxWait` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getMaxWaitDuration()`
  - `BaseGenericObjectPool.getMaxWaitDuration()`

### getMinEvictableIdleDuration

public Duration getMinEvictableIdleDuration()
Gets the value for the `minEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `minEvictableIdleTime` for this configuration instance
Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`

### getMinEvictableIdleTime

@Deprecated public Duration getMinEvictableIdleTime()
Deprecated.
Use `getMinEvictableIdleDuration()`.
Gets the value for the `minEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `minEvictableIdleTime` for this configuration instance
Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`

### getMinEvictableIdleTimeMillis

@Deprecated public long getMinEvictableIdleTimeMillis()
Deprecated.
Use `getMinEvictableIdleTime()`.
Gets the value for the `minEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `minEvictableIdleTime` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`

### getNumTestsPerEvictionRun

public int getNumTestsPerEvictionRun()
Gets the value for the `numTestsPerEvictionRun` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `numTestsPerEvictionRun` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getNumTestsPerEvictionRun()`
  - `BaseGenericObjectPool.getNumTestsPerEvictionRun()`

### getSoftMinEvictableIdleDuration

public Duration getSoftMinEvictableIdleDuration()
Gets the value for the `softMinEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `softMinEvictableIdleTime` for this configuration instance
Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`

### getSoftMinEvictableIdleTime

@Deprecated public Duration getSoftMinEvictableIdleTime()
Deprecated.
Use `getSoftMinEvictableIdleDuration()`.
Gets the value for the `softMinEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `softMinEvictableIdleTime` for this configuration instance
Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`

### getSoftMinEvictableIdleTimeMillis

@Deprecated public long getSoftMinEvictableIdleTimeMillis()
Deprecated.
Use `getSoftMinEvictableIdleDuration()`.
Gets the value for the `softMinEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `softMinEvictableIdleTime` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`

### getTestOnBorrow

public boolean getTestOnBorrow()
Gets the value for the `testOnBorrow` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `testOnBorrow` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getTestOnBorrow()`
  - `BaseGenericObjectPool.getTestOnBorrow()`

### getTestOnCreate

public boolean getTestOnCreate()
Gets the value for the `testOnCreate` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `testOnCreate` for this configuration instance
Since:
  2.2
See Also:
  - `BaseGenericObjectPool.getTestOnCreate()`
  - `BaseGenericObjectPool.getTestOnCreate()`

### getTestOnReturn

public boolean getTestOnReturn()
Gets the value for the `testOnReturn` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `testOnReturn` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getTestOnReturn()`
  - `BaseGenericObjectPool.getTestOnReturn()`

### getTestWhileIdle

public boolean getTestWhileIdle()
Gets the value for the `testWhileIdle` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `testWhileIdle` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getTestWhileIdle()`
  - `BaseGenericObjectPool.getTestWhileIdle()`

### getTimeBetweenEvictionRuns

@Deprecated public Duration getTimeBetweenEvictionRuns()
Deprecated.
Use `getDurationBetweenEvictionRuns()`.
Gets the value for the `timeBetweenEvictionRuns` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `timeBetweenEvictionRuns` for this configuration instance
Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`

### getTimeBetweenEvictionRunsMillis

@Deprecated public long getTimeBetweenEvictionRunsMillis()
Deprecated.
Use `getDurationBetweenEvictionRuns()`.
Gets the value for the `timeBetweenEvictionRuns` configuration attribute for pools created with this configuration instance.

Returns:
  The current setting of `timeBetweenEvictionRuns` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`

### setBlockWhenExhausted

public void setBlockWhenExhausted(boolean blockWhenExhausted)
Sets the value for the `blockWhenExhausted` configuration attribute for pools created with this configuration instance.

Parameters:
  `blockWhenExhausted` - The new setting of `blockWhenExhausted` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getBlockWhenExhausted()`
  - `BaseGenericObjectPool.getBlockWhenExhausted()`

### setEvictionPolicy

public void setEvictionPolicy(EvictionPolicy<T> evictionPolicy)
Sets the value for the `evictionPolicyClass` configuration attribute for pools created with this configuration instance.

Parameters:
  `evictionPolicy` - The new setting of `evictionPolicyClass` for this configuration instance
Since:
  2.6.0
See Also:
  - `BaseGenericObjectPool.getEvictionPolicy()`
  - `BaseGenericObjectPool.getEvictionPolicy()`

### setEvictionPolicyClassName

public void setEvictionPolicyClassName(String evictionPolicyClassName)
Sets the value for the `evictionPolicyClassName` configuration attribute for pools created with this configuration instance.

Parameters:
  `evictionPolicyClassName` - The new setting of `evictionPolicyClassName` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getEvictionPolicyClassName()`
  - `BaseGenericObjectPool.getEvictionPolicyClassName()`

### setEvictorShutdownTimeout

public void setEvictorShutdownTimeout(Duration evictorShutdownTimeoutDuration)
Sets the value for the `evictorShutdownTimeout` configuration attribute for pools created with this configuration instance.

Parameters:
  `evictorShutdownTimeoutDuration` - The new setting of `evictorShutdownTimeout` for this configuration instance
Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`

### setEvictorShutdownTimeoutMillis

@Deprecated public void setEvictorShutdownTimeoutMillis(Duration evictorShutdownTimeout)
Deprecated.
Use `setEvictorShutdownTimeout(Duration)`.
Sets the value for the `evictorShutdownTimeout` configuration attribute for pools created with this configuration instance.

Parameters:
  `evictorShutdownTimeout` - The new setting of `evictorShutdownTimeout` for this configuration instance
Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`

### setEvictorShutdownTimeoutMillis

@Deprecated public void setEvictorShutdownTimeoutMillis(long evictorShutdownTimeoutMillis)
Deprecated.
Use `setEvictorShutdownTimeout(Duration)`.
Sets the value for the `evictorShutdownTimeout` configuration attribute for pools created with this configuration instance.

Parameters:
  `evictorShutdownTimeoutMillis` - The new setting of `evictorShutdownTimeout` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`
  - `BaseGenericObjectPool.getEvictorShutdownTimeoutDuration()`

### setFairness

public void setFairness(boolean fairness)
Sets the value for the `fairness` configuration attribute for pools created with this configuration instance.

Parameters:
  `fairness` - The new setting of `fairness` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getFairness()`
  - `BaseGenericObjectPool.getFairness()`

### setJmxEnabled

public void setJmxEnabled(boolean jmxEnabled)
Sets the value of the flag that determines if JMX will be enabled for pools created with this configuration instance.

Parameters:
  `jmxEnabled` - The new setting of `jmxEnabled` for this configuration instance

### setJmxNameBase

public void setJmxNameBase(String jmxNameBase)
Sets the value of the JMX name base that will be used as part of the name assigned to JMX enabled pools created with this configuration instance. A value of `null` means that the pool will define the JMX name base.

Parameters:
  `jmxNameBase` - The new setting of `jmxNameBase` for this configuration instance

### setJmxNamePrefix

public void setJmxNamePrefix(String jmxNamePrefix)
Sets the value of the JMX name prefix that will be used as part of the name assigned to JMX enabled pools created with this configuration instance.

Parameters:
  `jmxNamePrefix` - The new setting of `jmxNamePrefix` for this configuration instance

### setLifo

public void setLifo(boolean lifo)
Sets the value for the `lifo` configuration attribute for pools created with this configuration instance.

Parameters:
  `lifo` - The new setting of `lifo` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getLifo()`
  - `BaseGenericObjectPool.getLifo()`

### setMaxWait

public void setMaxWait(Duration maxWaitDuration)
Sets the value for the `maxWait` configuration attribute for pools created with this configuration instance.

Parameters:
  `maxWaitDuration` - The new setting of `maxWaitDuration` for this configuration instance
Since:
  2.11.0
See Also:
  - `BaseGenericObjectPool.getMaxWaitDuration()`
  - `BaseGenericObjectPool.getMaxWaitDuration()`

### setMaxWaitMillis

@Deprecated public void setMaxWaitMillis(long maxWaitMillis)
Deprecated.
Use `setMaxWait(Duration)`.
Sets the value for the `maxWait` configuration attribute for pools created with this configuration instance.

Parameters:
  `maxWaitMillis` - The new setting of `maxWaitMillis` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getMaxWaitDuration()`
  - `BaseGenericObjectPool.getMaxWaitDuration()`

### setMinEvictableIdleDuration

public void setMinEvictableIdleDuration(Duration minEvictableIdleTime)
Sets the value for the `minEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Parameters:
  `minEvictableIdleTime` - The new setting of `minEvictableIdleTime` for this configuration instance
Since:
  2.12.0
See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`

### setMinEvictableIdleTime

@Deprecated public void setMinEvictableIdleTime(Duration minEvictableIdleTime)
Deprecated.
Use `setMinEvictableIdleDuration(Duration)`.
Sets the value for the `minEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Parameters:
  `minEvictableIdleTime` - The new setting of `minEvictableIdleTime` for this configuration instance
Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`

### setMinEvictableIdleTimeMillis

@Deprecated public void setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis)
Deprecated.
Use `setMinEvictableIdleDuration(Duration)`.
Sets the value for the `minEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Parameters:
  `minEvictableIdleTimeMillis` - The new setting of `minEvictableIdleTime` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getMinEvictableIdleDuration()`

### setNumTestsPerEvictionRun

public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun)
Sets the value for the `numTestsPerEvictionRun` configuration attribute for pools created with this configuration instance.

Parameters:
  `numTestsPerEvictionRun` - The new setting of `numTestsPerEvictionRun` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getNumTestsPerEvictionRun()`
  - `BaseGenericObjectPool.getNumTestsPerEvictionRun()`

### setSoftMinEvictableIdleDuration

public void setSoftMinEvictableIdleDuration(Duration softMinEvictableIdleTime)
Sets the value for the `softMinEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Parameters:
  `softMinEvictableIdleTime` - The new setting of `softMinEvictableIdleTime` for this configuration instance
Since:
  2.12.0
See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`

### setSoftMinEvictableIdleTime

@Deprecated public void setSoftMinEvictableIdleTime(Duration softMinEvictableIdleTime)
Deprecated.
Use `setSoftMinEvictableIdleDuration(Duration)`.
Sets the value for the `softMinEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Parameters:
  `softMinEvictableIdleTime` - The new setting of `softMinEvictableIdleTime` for this configuration instance
Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`

### setSoftMinEvictableIdleTimeMillis

@Deprecated public void setSoftMinEvictableIdleTimeMillis(long softMinEvictableIdleTimeMillis)
Deprecated.
Use `setSoftMinEvictableIdleDuration(Duration)`.
Sets the value for the `softMinEvictableIdleTime` configuration attribute for pools created with this configuration instance.

Parameters:
  `softMinEvictableIdleTimeMillis` - The new setting of `softMinEvictableIdleTime` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`
  - `BaseGenericObjectPool.getSoftMinEvictableIdleDuration()`

### setTestOnBorrow

public void setTestOnBorrow(boolean testOnBorrow)
Sets the value for the `testOnBorrow` configuration attribute for pools created with this configuration instance.

Parameters:
  `testOnBorrow` - The new setting of `testOnBorrow` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getTestOnBorrow()`
  - `BaseGenericObjectPool.getTestOnBorrow()`

### setTestOnCreate

public void setTestOnCreate(boolean testOnCreate)
Sets the value for the `testOnCreate` configuration attribute for pools created with this configuration instance.

Parameters:
  `testOnCreate` - The new setting of `testOnCreate` for this configuration instance
Since:
  2.2
See Also:
  - `BaseGenericObjectPool.getTestOnCreate()`
  - `BaseGenericObjectPool.getTestOnCreate()`

### setTestOnReturn

public void setTestOnReturn(boolean testOnReturn)
Sets the value for the `testOnReturn` configuration attribute for pools created with this configuration instance.

Parameters:
  `testOnReturn` - The new setting of `testOnReturn` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getTestOnReturn()`
  - `BaseGenericObjectPool.getTestOnReturn()`

### setTestWhileIdle

public void setTestWhileIdle(boolean testWhileIdle)
Sets the value for the `testWhileIdle` configuration attribute for pools created with this configuration instance.

Parameters:
  `testWhileIdle` - The new setting of `testWhileIdle` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getTestWhileIdle()`
  - `BaseGenericObjectPool.getTestWhileIdle()`

### setTimeBetweenEvictionRuns

public void setTimeBetweenEvictionRuns(Duration timeBetweenEvictionRuns)
Sets the value for the `timeBetweenEvictionRuns` configuration attribute for pools created with this configuration instance.

Parameters:
  `timeBetweenEvictionRuns` - The new setting of `timeBetweenEvictionRuns` for this configuration instance
Since:
  2.10.0
See Also:
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`

### setTimeBetweenEvictionRunsMillis

@Deprecated public void setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis)
Deprecated.
Use `setTimeBetweenEvictionRuns(Duration)`.
Sets the value for the `timeBetweenEvictionRuns` configuration attribute for pools created with this configuration instance.

Parameters:
  `timeBetweenEvictionRunsMillis` - The new setting of `timeBetweenEvictionRuns` for this configuration instance
See Also:
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  - `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`

### toStringAppendFields

protected void toStringAppendFields(StringBuilder builder)
Description copied from class: `BaseObject`
Used by sub-classes to include the fields defined by the sub-class in the `BaseObject.toString()` output.

Overrides:
  `toStringAppendFields` in class `BaseObject`
Parameters:
  `builder` - Field names and values are appended to this object