in src/main/java/org/apache/commons/pool3/impl/ResilientPooledObjectFactory.java [73:97]
public void run() {
running = true;
while (!up && !killed && !pool.isClosed()) {
try {
pool.addObject();
if (pool.getNumWaiters() == 0 || pool.getNumActive() + pool.getNumIdle() == pool.getMaxTotal()) {
kill();
}
} catch (final Throwable e) {
failures++;
if (failures > MAX_FAILURES) {
kill();
}
} finally {
// Wait for delay
try {
sleep(delay.toMillis());
} catch (final InterruptedException e) {
kill();
}
}
}
kill();
running = false;
}