https://issues.apache.org/bugzilla/show_bug.cgi?id=53254
--- Comment #2 from Mike Youngstrom <you...@gmail.com> --- Nice! Thanks Filip! For laughs here is the workaround implementation I created yesterday. :) public void purge() throws Exception { long oldMaxAge = dataSource.getMaxAge(); int oldMaxIdle = dataSource.getMaxIdle(); int oldMaxActive = dataSource.getMaxActive(); int oldMinEvictTime = dataSource.getMinEvictableIdleTimeMillis(); PooledConnection connection = dataSource.getPooledConnection(); IllegalStateException error = null; try { dataSource.setMaxActive(1); dataSource.setMaxIdle(1); dataSource.setMaxAge(1); dataSource.setMinEvictableIdleTimeMillis(1); int sec = 0; Thread.sleep(1001); while(dataSource.getActive() > 1 && sec < 29) { Thread.sleep(1000); sec++; } dataSource.checkIdle(); if(dataSource.getActive() > 1) { error = new IllegalStateException("Closed all but "+(dataSource.getActive()-1)+" connection(s) after 30 sec. Try again."); } connection.close(); } finally { dataSource.setMaxAge(oldMaxAge); dataSource.setMaxActive(oldMaxActive); dataSource.setMaxIdle(oldMaxIdle); dataSource.setMinEvictableIdleTimeMillis(oldMinEvictTime); if(error != null) { throw error; } } } -- You are receiving this mail because: You are the assignee for the bug.