Package org.apache.tomcat.dbcp.pool2.impl

## 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 boolean` | `DEFAULT_BLOCK_WHEN_EXHAUSTED` | The default value for the `blockWhenExhausted` configuration attribute.
    `static Duration` | `DEFAULT_DURATION_BETWEEN_EVICTION_RUNS` | The default value for the `timeBetweenEvictionRuns` configuration attribute.
    `static String` | `DEFAULT_EVICTION_POLICY_CLASS_NAME` | The default value for the `evictionPolicyClassName` configuration attribute.
    `static Duration` | `DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT` | The default value for `evictorShutdownTimeout` configuration attribute.
    `static long` | `DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT_MILLIS` | Deprecated. Use `DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT`.
    `static boolean` | `DEFAULT_FAIRNESS` | The default value for the `fairness` configuration attribute.
    `static boolean` | `DEFAULT_JMX_ENABLE` | The default value for enabling JMX for pools created with a configuration instance.
    `static 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 String` | `DEFAULT_JMX_NAME_PREFIX` | The default value for the prefix used to name JMX enabled pools created with a configuration instance.
    `static boolean` | `DEFAULT_LIFO` | The default value for the `lifo` configuration attribute.
    `static Duration` | `DEFAULT_MAX_WAIT` | The default value for the `maxWait` configuration attribute.
    `static long` | `DEFAULT_MAX_WAIT_MILLIS` | Deprecated. Use `DEFAULT_MAX_WAIT`.
    `static Duration` | `DEFAULT_MIN_EVICTABLE_IDLE_DURATION` | The default value for the `minEvictableIdleDuration` configuration attribute.
    `static Duration` | `DEFAULT_MIN_EVICTABLE_IDLE_TIME` | Deprecated. Use `DEFAULT_MIN_EVICTABLE_IDLE_DURATION`.
    `static long` | `DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS` | Deprecated. Use `DEFAULT_MIN_EVICTABLE_IDLE_TIME`.
    `static int` | `DEFAULT_NUM_TESTS_PER_EVICTION_RUN` | The default value for the `numTestsPerEvictionRun` configuration attribute.
    `static Duration` | `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION` | The default value for the `softMinEvictableIdleTime` configuration attribute.
    `static Duration` | `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME` | Deprecated. Use `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION`.
    `static long` | `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS` | Deprecated. Use `DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME`.
    `static boolean` | `DEFAULT_TEST_ON_BORROW` | The default value for the `testOnBorrow` configuration attribute.
    `static boolean` | `DEFAULT_TEST_ON_CREATE` | The default value for the `testOnCreate` configuration attribute.
    `static boolean` | `DEFAULT_TEST_ON_RETURN` | The default value for the `testOnReturn` configuration attribute.
    `static boolean` | `DEFAULT_TEST_WHILE_IDLE` | The default value for the `testWhileIdle` configuration attribute.
    `static Duration` | `DEFAULT_TIME_BETWEEN_EVICTION_RUNS` | Deprecated. Use `DEFAULT_DURATION_BETWEEN_EVICTION_RUNS`.
    `static long` | `DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS` | Deprecated. Use `DEFAULT_TIME_BETWEEN_EVICTION_RUNS`.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BaseObjectPoolConfig()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    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 org.apache.tomcat.dbcp.pool2.BaseObject

      `toString`

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

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

- - ### Field Detail

    - #### DEFAULT_LIFO

          public static final boolean DEFAULT_LIFO

      The default value for the `lifo` configuration attribute.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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.
      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 Detail

    - #### BaseObjectPoolConfig

          public BaseObjectPoolConfig()

  - ### Method Detail

    - #### 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