Clears any objects sitting idle in the pool by removing them from the
idle instance sub-pools and then invoking the configured
PoolableObjectFactory's
{@link KeyedPooledObjectFactory#destroyObject(Object, PooledObject)}
method on each idle instance.
<p>
Implementation notes:
<ul>
<li>This method does not destroy or effect in any way instances that are
checked out when it is invoked.</li>
<li>Invoking this method does not prevent objects being returned to the
idle instance pool, even during its execution. Additional instances may
be returned while removed items are being destroyed.</li>
<li>Exceptions encountered destroying idle instances are swallowed
but notified via a {@link SwallowedExceptionListener}.</li>
</ul>
Clears any objects sitting idle in the pool by removing them from the idle instance sub-pools and then invoking the configured PoolableObjectFactory's {@link KeyedPooledObjectFactory#destroyObject(Object, PooledObject)} method on each idle instance. <p> Implementation notes: <ul> <li>This method does not destroy or effect in any way instances that are checked out when it is invoked.</li> <li>Invoking this method does not prevent objects being returned to the idle instance pool, even during its execution. Additional instances may be returned while removed items are being destroyed.</li> <li>Exceptions encountered destroying idle instances are swallowed but notified via a {@link SwallowedExceptionListener}.</li> </ul>