# Interface GenericKeyedObjectPoolMXBean<K>

Type Parameters:
  `K` - The type of keys maintained by the pool.

All Known Implementing Classes:
  `GenericKeyedObjectPool`

public interface GenericKeyedObjectPoolMXBean<K>
Defines the methods that will be made available via JMX.

## Note

This interface exists only to define those attributes and methods that will be made available via JMX. It must not be implemented by clients as it is subject to change between major, minor and patch version releases of commons pool. Clients that implement this interface may not, therefore, be able to upgrade to a new minor or patch release without requiring code changes.

Since:
  2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `getBlockWhenExhausted()`
  See `BaseGenericObjectPool.getBlockWhenExhausted()`.
  `long`
  `getBorrowedCount()`
  See `BaseGenericObjectPool.getBorrowedCount()`.
  `long`
  `getCreatedCount()`
  See `BaseGenericObjectPool.getCreatedCount()`.
  `String`
  `getCreationStackTrace()`
  See `BaseGenericObjectPool.getCreationStackTrace()`.
  `long`
  `getDestroyedByBorrowValidationCount()`
  See `BaseGenericObjectPool.getDestroyedByBorrowValidationCount()`.
  `long`
  `getDestroyedByEvictorCount()`
  See `BaseGenericObjectPool.getDestroyedByEvictorCount()`.
  `long`
  `getDestroyedCount()`
  See `BaseGenericObjectPool.getDestroyedCount()`.
  `boolean`
  `getFairness()`
  See `BaseGenericObjectPool.getFairness()`.
  `boolean`
  `getLifo()`
  See `BaseGenericObjectPool.getLifo()`.
  `default boolean`
  `getLogAbandoned()`
  See `BaseGenericObjectPool.getLogAbandoned()`.
  `long`
  `getMaxBorrowWaitTimeMillis()`
  See `BaseGenericObjectPool.getMaxBorrowWaitTimeMillis()`.
  `int`
  `getMaxIdlePerKey()`
  See `GenericKeyedObjectPool.getMaxIdlePerKey()`.
  `int`
  `getMaxTotal()`
  See `BaseGenericObjectPool.getMaxTotal()`.
  `int`
  `getMaxTotalPerKey()`
  See `GenericKeyedObjectPool.getMaxTotalPerKey()`.
  `long`
  `getMaxWaitMillis()`
  See `BaseGenericObjectPool.getMaxWaitDuration()`.
  `long`
  `getMeanActiveTimeMillis()`
  See `BaseGenericObjectPool.getMeanActiveTimeMillis()`.
  `long`
  `getMeanBorrowWaitTimeMillis()`
  See `BaseGenericObjectPool.getMaxBorrowWaitTimeMillis()`.
  `long`
  `getMeanIdleTimeMillis()`
  See `BaseGenericObjectPool.getMeanIdleTimeMillis()`.
  `long`
  `getMinEvictableIdleTimeMillis()`
  See `BaseGenericObjectPool.getMinEvictableIdleDuration()`.
  `int`
  `getMinIdlePerKey()`
  See `GenericKeyedObjectPool.getMinIdlePerKey()`.
  `int`
  `getNumActive()`
  See `GenericKeyedObjectPool.getNumActive()`.
  `Map<String,Integer>`
  `getNumActivePerKey()`
  See `GenericKeyedObjectPool.getNumActivePerKey()`.
  `int`
  `getNumIdle()`
  See `GenericKeyedObjectPool.getNumIdle()`.
  `int`
  `getNumTestsPerEvictionRun()`
  See `BaseGenericObjectPool.getNumTestsPerEvictionRun()`.
  `int`
  `getNumWaiters()`
  See `GenericKeyedObjectPool.getNumWaiters()`.
  `Map<String,Integer>`
  `getNumWaitersByKey()`
  See `GenericKeyedObjectPool.getNumWaitersByKey()`.
  `default boolean`
  `getRemoveAbandonedOnBorrow()`
  See `BaseGenericObjectPool.getRemoveAbandonedOnBorrow()`.
  `default boolean`
  `getRemoveAbandonedOnMaintenance()`
  See `BaseGenericObjectPool.getRemoveAbandonedOnMaintenance()`.
  `default int`
  `getRemoveAbandonedTimeout()`
  See `BaseGenericObjectPool.getRemoveAbandonedTimeoutDuration()`.
  `long`
  `getReturnedCount()`
  See `BaseGenericObjectPool.getReturnedCount()`.
  `boolean`
  `getTestOnBorrow()`
  See `BaseGenericObjectPool.getTestOnBorrow()`.
  `boolean`
  `getTestOnCreate()`
  See `BaseGenericObjectPool.getTestOnCreate()`.
  `boolean`
  `getTestOnReturn()`
  See `BaseGenericObjectPool.getTestOnReturn()`.
  `boolean`
  `getTestWhileIdle()`
  See `BaseGenericObjectPool.getTestWhileIdle()`.
  `long`
  `getTimeBetweenEvictionRunsMillis()`
  See `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
  `default boolean`
  `isAbandonedConfig()`
  See `BaseGenericObjectPool.isAbandonedConfig()`.
  `boolean`
  `isClosed()`
  See `BaseGenericObjectPool.isClosed()`.
  `Map<String, List<DefaultPooledObjectInfo>>`
  `listAllObjects()`
  See `GenericKeyedObjectPool.listAllObjects()`.

- ## Method Details

  - ### getBlockWhenExhausted

    boolean getBlockWhenExhausted()
    See `BaseGenericObjectPool.getBlockWhenExhausted()`.
    Returns:
      See `BaseGenericObjectPool.getBlockWhenExhausted()`.

  - ### getBorrowedCount

    long getBorrowedCount()
    See `BaseGenericObjectPool.getBorrowedCount()`.
    Returns:
      See `BaseGenericObjectPool.getBorrowedCount()`.

  - ### getCreatedCount

    long getCreatedCount()
    See `BaseGenericObjectPool.getCreatedCount()`.
    Returns:
      See `BaseGenericObjectPool.getCreatedCount()`.

  - ### getCreationStackTrace

    String getCreationStackTrace()
    See `BaseGenericObjectPool.getCreationStackTrace()`.
    Returns:
      See `BaseGenericObjectPool.getCreationStackTrace()`.

  - ### getDestroyedByBorrowValidationCount

    long getDestroyedByBorrowValidationCount()
    See `BaseGenericObjectPool.getDestroyedByBorrowValidationCount()`.
    Returns:
      See `BaseGenericObjectPool.getDestroyedByBorrowValidationCount()`.

  - ### getDestroyedByEvictorCount

    long getDestroyedByEvictorCount()
    See `BaseGenericObjectPool.getDestroyedByEvictorCount()`.
    Returns:
      See `BaseGenericObjectPool.getDestroyedByEvictorCount()`.

  - ### getDestroyedCount

    long getDestroyedCount()
    See `BaseGenericObjectPool.getDestroyedCount()`.
    Returns:
      See `BaseGenericObjectPool.getDestroyedCount()`.

  - ### getFairness

    boolean getFairness()
    See `BaseGenericObjectPool.getFairness()`.
    Returns:
      See `BaseGenericObjectPool.getFairness()`.

  - ### getLifo

    boolean getLifo()
    See `BaseGenericObjectPool.getLifo()`.
    Returns:
      See `BaseGenericObjectPool.getLifo()`.

  - ### getLogAbandoned

    default boolean getLogAbandoned()
    See `BaseGenericObjectPool.getLogAbandoned()`.
    Returns:
      See `BaseGenericObjectPool.getLogAbandoned()`.
    Since:
      2.10.0

  - ### getMaxBorrowWaitTimeMillis

    long getMaxBorrowWaitTimeMillis()
    See `BaseGenericObjectPool.getMaxBorrowWaitTimeMillis()`.
    Returns:
      See `BaseGenericObjectPool.getMaxBorrowWaitTimeMillis()`.

  - ### getMaxIdlePerKey

    int getMaxIdlePerKey()
    See `GenericKeyedObjectPool.getMaxIdlePerKey()`.
    Returns:
      See `GenericKeyedObjectPool.getMaxIdlePerKey()`.

  - ### getMaxTotal

    int getMaxTotal()
    See `BaseGenericObjectPool.getMaxTotal()`.
    Returns:
      See `BaseGenericObjectPool.getMaxTotal()`.

  - ### getMaxTotalPerKey

    int getMaxTotalPerKey()
    See `GenericKeyedObjectPool.getMaxTotalPerKey()`.
    Returns:
      See `GenericKeyedObjectPool.getMaxTotalPerKey()`.

  - ### getMaxWaitMillis

    long getMaxWaitMillis()
    See `BaseGenericObjectPool.getMaxWaitDuration()`.
    Returns:
      See `BaseGenericObjectPool.getMaxWaitDuration()`.

  - ### getMeanActiveTimeMillis

    long getMeanActiveTimeMillis()
    See `BaseGenericObjectPool.getMeanActiveTimeMillis()`.
    Returns:
      See `BaseGenericObjectPool.getMeanActiveTimeMillis()`.

  - ### getMeanBorrowWaitTimeMillis

    long getMeanBorrowWaitTimeMillis()
    See `BaseGenericObjectPool.getMaxBorrowWaitTimeMillis()`.
    Returns:
      See `BaseGenericObjectPool.getMaxBorrowWaitTimeMillis()`.

  - ### getMeanIdleTimeMillis

    long getMeanIdleTimeMillis()
    See `BaseGenericObjectPool.getMeanIdleTimeMillis()`.
    Returns:
      See `BaseGenericObjectPool.getMeanIdleTimeMillis()`.

  - ### getMinEvictableIdleTimeMillis

    long getMinEvictableIdleTimeMillis()
    See `BaseGenericObjectPool.getMinEvictableIdleDuration()`.
    Returns:
      See `BaseGenericObjectPool.getMinEvictableIdleDuration()`.

  - ### getMinIdlePerKey

    int getMinIdlePerKey()
    See `GenericKeyedObjectPool.getMinIdlePerKey()`.
    Returns:
      See `GenericKeyedObjectPool.getMinIdlePerKey()`.

  - ### getNumActive

    int getNumActive()
    See `GenericKeyedObjectPool.getNumActive()`.
    Returns:
      See `GenericKeyedObjectPool.getNumActive()`.

  - ### getNumActivePerKey

    Map<String,Integer> getNumActivePerKey()
    See `GenericKeyedObjectPool.getNumActivePerKey()`.
    Returns:
      See `GenericKeyedObjectPool.getNumActivePerKey()`.

  - ### getNumIdle

    int getNumIdle()
    See `GenericKeyedObjectPool.getNumIdle()`.
    Returns:
      See `GenericKeyedObjectPool.getNumIdle()`.

  - ### getNumTestsPerEvictionRun

    int getNumTestsPerEvictionRun()
    See `BaseGenericObjectPool.getNumTestsPerEvictionRun()`.
    Returns:
      See `BaseGenericObjectPool.getNumTestsPerEvictionRun()`.

  - ### getNumWaiters

    int getNumWaiters()
    See `GenericKeyedObjectPool.getNumWaiters()`.
    Returns:
      See `GenericKeyedObjectPool.getNumWaiters()`.

  - ### getNumWaitersByKey

    Map<String,Integer> getNumWaitersByKey()
    See `GenericKeyedObjectPool.getNumWaitersByKey()`.
    Returns:
      See `GenericKeyedObjectPool.getNumWaitersByKey()`.

  - ### getRemoveAbandonedOnBorrow

    default boolean getRemoveAbandonedOnBorrow()
    See `BaseGenericObjectPool.getRemoveAbandonedOnBorrow()`.
    Returns:
      See `BaseGenericObjectPool.getRemoveAbandonedOnBorrow()`.
    Since:
      2.10.0

  - ### getRemoveAbandonedOnMaintenance

    default boolean getRemoveAbandonedOnMaintenance()
    See `BaseGenericObjectPool.getRemoveAbandonedOnMaintenance()`.
    Returns:
      See `BaseGenericObjectPool.getRemoveAbandonedOnMaintenance()`.
    Since:
      2.10.0

  - ### getRemoveAbandonedTimeout

    default int getRemoveAbandonedTimeout()
    See `BaseGenericObjectPool.getRemoveAbandonedTimeoutDuration()`.
    Returns:
      See `BaseGenericObjectPool.getRemoveAbandonedTimeoutDuration()`.
    Since:
      2.10.0

  - ### getReturnedCount

    long getReturnedCount()
    See `BaseGenericObjectPool.getReturnedCount()`.
    Returns:
      See `BaseGenericObjectPool.getReturnedCount()`.

  - ### getTestOnBorrow

    boolean getTestOnBorrow()
    See `BaseGenericObjectPool.getTestOnBorrow()`.
    Returns:
      See `BaseGenericObjectPool.getTestOnBorrow()`.

  - ### getTestOnCreate

    boolean getTestOnCreate()
    See `BaseGenericObjectPool.getTestOnCreate()`.
    Returns:
      See `BaseGenericObjectPool.getTestOnCreate()`.
    Since:
      2.2

  - ### getTestOnReturn

    boolean getTestOnReturn()
    See `BaseGenericObjectPool.getTestOnReturn()`.
    Returns:
      See `BaseGenericObjectPool.getTestOnReturn()`.

  - ### getTestWhileIdle

    boolean getTestWhileIdle()
    See `BaseGenericObjectPool.getTestWhileIdle()`.
    Returns:
      See `BaseGenericObjectPool.getTestWhileIdle()`.

  - ### getTimeBetweenEvictionRunsMillis

    long getTimeBetweenEvictionRunsMillis()
    See `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`
    Returns:
      See `BaseGenericObjectPool.getDurationBetweenEvictionRuns()`.

  - ### isAbandonedConfig

    default boolean isAbandonedConfig()
    See `BaseGenericObjectPool.isAbandonedConfig()`.
    Returns:
      See `BaseGenericObjectPool.isAbandonedConfig()`.
    Since:
      2.10.0

  - ### isClosed

    boolean isClosed()
    See `BaseGenericObjectPool.isClosed()`.
    Returns:
      See `BaseGenericObjectPool.isClosed()`.

  - ### listAllObjects

    Map<String, List<DefaultPooledObjectInfo>> listAllObjects()
    See `GenericKeyedObjectPool.listAllObjects()`.
    Returns:
      See `GenericKeyedObjectPool.listAllObjects()`.