in src/main/java/org/apache/commons/pool3/impl/GenericKeyedObjectPool.java [615:641]
public void clear(final K key, final boolean reuseCapacity) {
// Return immediately if there is no pool under this key.
if (!poolMap.containsKey(key)) {
return;
}
final ObjectDeque<T> objectDeque = register(key);
int freedCapacity = 0;
try {
final LinkedBlockingDeque<PooledObject<T>> idleObjects = objectDeque.getIdleObjects();
PooledObject<T> p = idleObjects.poll();
while (p != null) {
try {
if (destroy(key, p, true, DestroyMode.NORMAL)) {
freedCapacity++;
}
} catch (final Exception e) {
swallowException(e);
}
p = idleObjects.poll();
}
} finally {
deregister(key);
}
if (reuseCapacity) {
reuseCapacity(freedCapacity);
}
}