【发布时间】:2017-09-15 07:55:12
【问题描述】:
我有一个使用 KeyedObjectPool 类的 jdbc 连接池,我通过实现的方法 openConnection() 和 closeConnection() 使用它。 closeConnection() 通常只是将连接返回到池并仅在以前经常使用它时才将其关闭。因此它使用ConnectionPool.returnObject(),它不会关闭连接对象(see here)。
class ConnectionPool
{
public openConnection(...)
{
...
}
public closeConnection()
{
...
}
}
但是,如果我像这样使用连接池:
try (Connection connection = sConnectionPool.openConnection(JdbcCredentials);)
{
doSomething();
}
catch (Exception e)
{
...
}
使用try-with 的连接对象是只返回到池中还是实际上用connection.close() 关闭(我不希望发生这种情况,因为它会使我的池无用)?
【问题讨论】:
标签: java database-connection connection-pooling try-with-resources autocloseable