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

# Class GenericKeyedObjectPoolConfig<T>

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

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

All Implemented Interfaces:
  `Cloneable`

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

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_PER_KEY`
  The default value for the `maxIdlePerKey` configuration attribute: 8.
  `static final int`
  `DEFAULT_MAX_TOTAL`
  The default value for the `maxTotal` configuration attribute: -1.
  `static final int`
  `DEFAULT_MAX_TOTAL_PER_KEY`
  The default value for the `maxTotalPerKey` configuration attribute: 8.
  `static final int`
  `DEFAULT_MIN_IDLE_PER_KEY`
  The default value for the `minIdlePerKey` configuration attribute: 0.
  `static final boolean`
  `DEFAULT_REUSE_CAPACITY_ON_MAINTENANCE`
  The default value for the `reuseCapacityOnMaintenance` configuration attribute: false.
  `static final boolean`
  `DEFAULT_REUSE_CAPACITY_ON_RETURN`
  The default value for the `reuseCapacityOnReturn` configuration attribute: true.

  ### 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
  `GenericKeyedObjectPoolConfig()`
  Constructs a new configuration with default settings.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `GenericKeyedObjectPoolConfig<T>`
  `clone()`
  `int`
  `getMaxIdlePerKey()`
  Gets the value for the `maxIdlePerKey` 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`
  `getMaxTotalPerKey()`
  Gets the value for the `maxTotalPerKey` configuration attribute for pools created with this configuration instance.
  `int`
  `getMinIdlePerKey()`
  Gets the value for the `minIdlePerKey` configuration attribute for pools created with this configuration instance.
  `boolean`
  `getReuseCapacityOnMaintenance()`
  Gets the value for the `reuseCapacityOnMaintenance` configuration attribute for pools created with this configuration instance.
  `boolean`
  `getReuseCapacityOnReturn()`
  Gets the value for the `reuseCapacityOnReturn` configuration attribute for pools created with this configuration instance.
  `void`
  `setMaxIdlePerKey(int maxIdlePerKey)`
  Sets the value for the `maxIdlePerKey` 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`
  `setMaxTotalPerKey(int maxTotalPerKey)`
  Sets the value for the `maxTotalPerKey` configuration attribute for pools created with this configuration instance.
  `void`
  `setMinIdlePerKey(int minIdlePerKey)`
  Sets the value for the `minIdlePerKey` configuration attribute for pools created with this configuration instance.
  `void`
  `setReuseCapacityOnMaintenance(boolean reuseCapacityOnMaintenance)`
  Sets the value for the `reuseCapacityOnMaintenance` configuration attribute for pools created with this configuration instance.
  `void`
  `setReuseCapacityOnReturn(boolean reuseCapacityOnReturn)`
  Sets the value for the `reuseCapacityOnReturn` 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_PER_KEY

    public static final int DEFAULT_MAX_TOTAL_PER_KEY
    The default value for the `maxTotalPerKey` configuration attribute: 8.
    See Also:
      - `GenericKeyedObjectPool.getMaxTotalPerKey()`
      - Constant Field Values

  - ### DEFAULT_MAX_TOTAL

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

  - ### DEFAULT_MIN_IDLE_PER_KEY

    public static final int DEFAULT_MIN_IDLE_PER_KEY
    The default value for the `minIdlePerKey` configuration attribute: 0.
    See Also:
      - `GenericKeyedObjectPool.getMinIdlePerKey()`
      - Constant Field Values

  - ### DEFAULT_MAX_IDLE_PER_KEY

    public static final int DEFAULT_MAX_IDLE_PER_KEY
    The default value for the `maxIdlePerKey` configuration attribute: 8.
    See Also:
      - `GenericKeyedObjectPool.getMaxIdlePerKey()`
      - Constant Field Values

  - ### DEFAULT_REUSE_CAPACITY_ON_RETURN

    public static final boolean DEFAULT_REUSE_CAPACITY_ON_RETURN
    The default value for the `reuseCapacityOnReturn` configuration attribute: true.
    Since:
      2.13.0
    See Also:
      - `GenericKeyedObjectPool.getReuseCapacityOnReturn()`
      - Constant Field Values

  - ### DEFAULT_REUSE_CAPACITY_ON_MAINTENANCE

    public static final boolean DEFAULT_REUSE_CAPACITY_ON_MAINTENANCE
    The default value for the `reuseCapacityOnMaintenance` configuration attribute: false.
    Since:
      2.13.0
    See Also:
      - `GenericKeyedObjectPool.getReuseCapacityOnMaintenance()`
      - Constant Field Values

- ## Constructor Details

  - ### GenericKeyedObjectPoolConfig

    public GenericKeyedObjectPoolConfig()
    Constructs a new configuration with default settings.

- ## Method Details

  - ### clone

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

  - ### getMaxIdlePerKey

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

  - ### 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()`

  - ### getMaxTotalPerKey

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

  - ### getMinIdlePerKey

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

  - ### getReuseCapacityOnMaintenance

    public boolean getReuseCapacityOnMaintenance()
    Gets the value for the `reuseCapacityOnMaintenance` configuration attribute for pools created with this configuration instance.
    Returns:
      The current setting of `reuseCapacityOnMaintenance` for this configuration instance
    Since:
      2.13.0
    See Also:
      - `GenericKeyedObjectPool.getReuseCapacityOnMaintenance()`

  - ### getReuseCapacityOnReturn

    public boolean getReuseCapacityOnReturn()
    Gets the value for the `reuseCapacityOnReturn` configuration attribute for pools created with this configuration instance.
    Returns:
      The current setting of `reuseCapacityOnReturn` for this configuration instance
    Since:
      2.13.0
    See Also:
      - `GenericKeyedObjectPool.getReuseCapacityOnReturn()`

  - ### setMaxIdlePerKey

    public void setMaxIdlePerKey(int maxIdlePerKey)
    Sets the value for the `maxIdlePerKey` configuration attribute for pools created with this configuration instance.
    Parameters:
      `maxIdlePerKey` - The new setting of `maxIdlePerKey` for this configuration instance
    See Also:
      - `GenericKeyedObjectPool.setMaxIdlePerKey(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)`

  - ### setMaxTotalPerKey

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

  - ### setMinIdlePerKey

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

  - ### setReuseCapacityOnMaintenance

    public void setReuseCapacityOnMaintenance(boolean reuseCapacityOnMaintenance)
    Sets the value for the `reuseCapacityOnMaintenance` configuration attribute for pools created with this configuration instance.
    Parameters:
      `reuseCapacityOnMaintenance` - The new setting of `reuseCapacityOnMaintenance` for this configuration instance
    Since:
      2.13.0
    See Also:
      - `GenericKeyedObjectPool.setReuseCapacityOnMaintenance(boolean)`

  - ### setReuseCapacityOnReturn

    public void setReuseCapacityOnReturn(boolean reuseCapacityOnReturn)
    Sets the value for the `reuseCapacityOnReturn` configuration attribute for pools created with this configuration instance.
    Parameters:
      `reuseCapacityOnReturn` - The new setting of `reuseCapacityOnReturn` for this configuration instance
    Since:
      2.13.0
    See Also:
      - `GenericKeyedObjectPool.setReuseCapacityOnReturn(boolean)`

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