我有一个 Runnable,它从如下连接池中获取连接,并有 60 秒的时间来处理连接:
private static ConnectionPoolDataSource cpds; // MysqlConnectionPoolDataSource
public void run(){
while((System.currentTimeMillis()-created)<60000){
try(Connection conn = cpds.getPooledConnection().getConnection()){
//do something
}catch(SQLException sqle){}
}
}
当线程在 60 秒后终止时,我假设连接返回到池中,并且当创建新线程时,可以重新使用连接。但是当我列出我的网络连接时,随着更多线程的创建,列表会不断增长。如上所述创建的连接是否正确返回到池中,如果是,我如何强制重新使用连接?