Как определить количество незанятых и заимствованных объектов в Apache Common Pool 2

Существует несколько методов getXXXCount, определенных в классе BaseGenericObjectPool

  1. BaseGenericObjectPool.getBorrowedCount

  2. BaseGenericObjectPool.getCreatedCount

  3. BaseGenericObjectPool.getDestroyedCount

Но все они вычисляются с момента создания пула, то есть счет накапливается.

Я хотел бы спросить, как определить количество заимствованных и незанятых объектов в тот момент, когда пользователь запрашивает эти значения.

0 ответов

BaseGenericObjectPool абстрактный класс объявляет getNumIdle() метод, который возвращает "количество экземпляров в настоящее время бездействия в бассейне". BaseGenericObjectPool сам по себе не предоставляет количество заимствованных экземпляров.

Чтобы узнать количество заимствованных экземпляров, вы должны посмотреть классы, реализующие интерфейсы ObjectPool или KeyedObjectPool, например GenericObjectPool или GenericKeyedObjectPool. Оба этих интерфейса объявляют метод getNumActive(), который возвращает "количество экземпляров, заимствованных в данный момент из этого пула" (случай ObjectPool) или "общее количество экземпляров, заимствованных в данный момент из этого пула, но еще не возвращенных" (случай KeyedObjectPool).

Другие вопросы по тегам