public void invalidateObject()

in src/main/java/org/apache/commons/pool3/impl/GenericKeyedObjectPool.java [1336:1348]


    public void invalidateObject(final K key, final T obj, final DestroyMode destroyMode) throws E {
        final ObjectDeque<T> objectDeque = poolMap.get(key);
        final PooledObject<T> p = objectDeque != null ? objectDeque.getAllObjects().get(new IdentityWrapper<>(obj)) : null;
        if (p == null) {
            throw new IllegalStateException(appendStats("Object not currently part of this pool"));
        }
        synchronized (p) {
            if (p.getState() != PooledObjectState.INVALID) {
                destroy(key, p, true, destroyMode);
                reuseCapacity();
            }
        }
    }