public void returnObject()

in src/main/java/org/apache/commons/pool3/PoolUtils.java [292:315]


        public void returnObject(final K key, final V obj) throws E {
            boolean discard = false;
            final long nowMillis = System.currentTimeMillis();
            final ErodingFactor factor = getErodingFactor(key);
            synchronized (keyedPool) {
                if (factor.getNextShrink() < nowMillis) {
                    final int numIdle = getNumIdle(key);
                    if (numIdle > 0) {
                        discard = true;
                    }

                    factor.update(nowMillis, numIdle);
                }
            }
            try {
                if (discard) {
                    keyedPool.invalidateObject(key, obj);
                } else {
                    keyedPool.returnObject(key, obj);
                }
            } catch (final Exception ignored) {
                // ignored
            }
        }