GenericObjectPoolConfig (Apache Tomcat 11.0.23 API Documentation)
Description: declaration: package: org.apache.tomcat.dbcp.pool2.impl, class: GenericObjectPoolConfig

# Class GenericObjectPoolConfig<T>

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

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

All Implemented Interfaces:
  `Cloneable`

public class GenericObjectPoolConfig<T> extends BaseObjectPoolConfig<T>
A simple structure encapsulating the configuration for a `GenericObjectPool`.

This class is not thread-safe; it is only intended to be used to provide attributes used when creating a pool.

Since:
  2.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `DEFAULT_MAX_IDLE`
  The default value for the `maxIdle` configuration attribute: 8.
  `static final int`
  `DEFAULT_MAX_TOTAL`
  The default value for the `maxTotal` configuration attribute: 8.
  `static final int`
  `DEFAULT_MIN_IDLE`
  The default value for the `minIdle` configuration attribute: 0.

  ### Fields inherited from class BaseObjectPoolConfig

  `DEFAULT_BLOCK_WHEN_EXHAUSTED, DEFAULT_COLLECT_DETAILED_STATISTICS, DEFAULT_DURATION_BETWEEN_EVICTION_RUNS, DEFAULT_EVICTION_POLICY_CLASS_NAME, DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT, DEFAULT_EVICTOR_SHUTDOWN_TIMEOUT_MILLIS, DEFAULT_FAIRNESS, DEFAULT_JMX_ENABLE, DEFAULT_JMX_NAME_BASE, DEFAULT_JMX_NAME_PREFIX, DEFAULT_LIFO, DEFAULT_MAX_WAIT, DEFAULT_MAX_WAIT_MILLIS, DEFAULT_MIN_EVICTABLE_IDLE_DURATION, DEFAULT_MIN_EVICTABLE_IDLE_TIME, DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS, DEFAULT_NUM_TESTS_PER_EVICTION_RUN, DEFAULT_SOFT_MIN_EVICTABLE_IDLE_DURATION, DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME, DEFAULT_SOFT_MIN_EVICTABLE_IDLE_TIME_MILLIS, DEFAULT_TEST_ON_BORROW, DEFAULT_TEST_ON_CREATE, DEFAULT_TEST_ON_RETURN, DEFAULT_TEST_WHILE_IDLE, DEFAULT_TIME_BETWEEN_EVICTION_RUNS, DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `GenericObjectPoolConfig()`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `GenericObjectPoolConfig<T>`
  `clone()`
  `int`
  `getMaxIdle()`
  Gets the value for the `maxIdle` configuration attribute for pools created with this configuration instance.
  `int`
  `getMaxTotal()`
  Gets the value for the `maxTotal` configuration attribute for pools created with this configuration instance.
  `int`
  `getMinIdle()`
  Gets the value for the `minIdle` configuration attribute for pools created with this configuration instance.
  `void`
  `setMaxIdle(int maxIdle)`
  Sets the value for the `maxIdle` configuration attribute for pools created with this configuration instance.
  `void`
  `setMaxTotal(int maxTotal)`
  Sets the value for the `maxTotal` configuration attribute for pools created with this configuration instance.
  `void`
  `setMinIdle(int minIdle)`
  Sets the value for the `minIdle` configuration attribute for pools created with this configuration instance.
  `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 BaseObjectPoolConfig

  `getBlockWhenExhausted, getCollectDetailedStatistics, getDurationBetweenEvictionRuns, getEvictionPolicy, getEvictionPolicyClassName, getEvictorShutdownTimeout, getEvictorShutdownTimeoutDuration, getEvictorShutdownTimeoutMillis, getFairness, getJmxEnabled, getJmxNameBase, getJmxNamePrefix, getLifo, getMaxWaitDuration, getMaxWaitMillis, getMinEvictableIdleDuration, getMinEvictableIdleTime, getMinEvictableIdleTimeMillis, getNumTestsPerEvictionRun, getSoftMinEvictableIdleDuration, getSoftMinEvictableIdleTime, getSoftMinEvictableIdleTimeMillis, getTestOnBorrow, getTestOnCreate, getTestOnReturn, getTestWhileIdle, getTimeBetweenEvictionRuns, getTimeBetweenEvictionRunsMillis, setBlockWhenExhausted, setCollectDetailedStatistics, setEvictionPolicy, setEvictionPolicyClassName, setEvictorShutdownTimeout, setEvictorShutdownTimeoutMillis, setEvictorShutdownTimeoutMillis, setFairness, setJmxEnabled, setJmxNameBase, setJmxNamePrefix, setLifo, setMaxWait, setMaxWaitMillis, setMinEvictableIdleDuration, setMinEvictableIdleTime, setMinEvictableIdleTimeMillis, setNumTestsPerEvictionRun, setSoftMinEvictableIdleDuration, setSoftMinEvictableIdleTime, setSoftMinEvictableIdleTimeMillis, setTestOnBorrow, setTestOnCreate, setTestOnReturn, setTestWhileIdle, setTimeBetweenEvictionRuns, setTimeBetweenEvictionRunsMillis`

  ### Methods inherited from class BaseObject

  `toString`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### DEFAULT_MAX_TOTAL

    public static final int DEFAULT_MAX_TOTAL
    The default value for the `maxTotal` configuration attribute: 8.
    See Also:
      - `BaseGenericObjectPool.getMaxTotal()`
      - Constant Field Values

  - ### DEFAULT_MAX_IDLE

    public static final int DEFAULT_MAX_IDLE
    The default value for the `maxIdle` configuration attribute: 8.
    See Also:
      - `GenericObjectPool.getMaxIdle()`
      - Constant Field Values

  - ### DEFAULT_MIN_IDLE

    public static final int DEFAULT_MIN_IDLE
    The default value for the `minIdle` configuration attribute: 0.
    See Also:
      - `GenericObjectPool.getMinIdle()`
      - Constant Field Values

- ## Constructor Details

  - ### GenericObjectPoolConfig

    public GenericObjectPoolConfig()
    Constructs a new instance.

- ## Method Details

  - ### clone

    public GenericObjectPoolConfig<T> clone()
    Overrides:
      `clone` in class `Object`

  - ### getMaxIdle

    public int getMaxIdle()
    Gets the value for the `maxIdle` configuration attribute for pools created with this configuration instance.
    Returns:
      The current setting of `maxIdle` for this configuration instance
    See Also:
      - `GenericObjectPool.getMaxIdle()`

  - ### getMaxTotal

    public int getMaxTotal()
    Gets the value for the `maxTotal` configuration attribute for pools created with this configuration instance.
    Returns:
      The current setting of `maxTotal` for this configuration instance
    See Also:
      - `BaseGenericObjectPool.getMaxTotal()`

  - ### getMinIdle

    public int getMinIdle()
    Gets the value for the `minIdle` configuration attribute for pools created with this configuration instance.
    Returns:
      The current setting of `minIdle` for this configuration instance
    See Also:
      - `GenericObjectPool.getMinIdle()`

  - ### setMaxIdle

    public void setMaxIdle(int maxIdle)
    Sets the value for the `maxIdle` configuration attribute for pools created with this configuration instance.
    Parameters:
      `maxIdle` - The new setting of `maxIdle` for this configuration instance
    See Also:
      - `GenericObjectPool.setMaxIdle(int)`

  - ### setMaxTotal

    public void setMaxTotal(int maxTotal)
    Sets the value for the `maxTotal` configuration attribute for pools created with this configuration instance.
    Parameters:
      `maxTotal` - The new setting of `maxTotal` for this configuration instance
    See Also:
      - `BaseGenericObjectPool.setMaxTotal(int)`

  - ### setMinIdle

    public void setMinIdle(int minIdle)
    Sets the value for the `minIdle` configuration attribute for pools created with this configuration instance.
    Parameters:
      `minIdle` - The new setting of `minIdle` for this configuration instance
    See Also:
      - `GenericObjectPool.setMinIdle(int)`

  - ### 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 `BaseObjectPoolConfig<T>`
    Parameters:
      `builder` - Field names and values are appended to this object