As discussed with Filip via mail: (just to do report it officially): I've encountered an issue on closing the pool: Closing a ConnectionPool will always take at least one second if more than zero connections have been acquired. Please have a look at ConnectionPool.java:367 : con = pool.poll(1000, TimeUnit.MILLISECONDS); Imagine that we've previously fetched the last connection out of the queue. In this case the that command will cause that we've to wait 1000ms (to return null). The solution would be easy - just check prior to polling if the pool queue is empty. The 1 second wait time is really annoying because I am creating and destroying the pool for each junit test which causes that each test will take more than 2 seconds (I am using two pools per test).
Fixed in r1157874