@Override public void doRun() throws Exception { for (int k = 0; k < useCount; k++) { if (k % 100 == 0) { System.out.printf("%s is at %s\n", getName(), k); } Connection c = pool.takeConnection(); assertNotNull(c); c.startUsing(); try { sleepRandomMs(50); } finally { c.stopUsing(); pool.returnConnection(c); } } }