我有一个使用 KeyedObjectPool 类的 jdbc 连接池,我通过实现的方法openConnection()
和closeConnection()
. closeConnection()
通常只是将连接返回到池并仅在它以前经常使用时才将其关闭。因此它使用ConnectionPool.returnObject()
which 不会关闭连接对象(请参见此处)。
class ConnectionPool
{
public openConnection(...)
{
...
}
public closeConnection()
{
...
}
}
但是,如果我像这样使用连接池:
try (Connection connection = sConnectionPool.openConnection(JdbcCredentials);)
{
doSomething();
}
catch (Exception e)
{
...
}
使用的连接对象是try-with
仅返回到池中还是实际上关闭了connection.close()
(我不希望发生这种情况,因为它会使我的池无用)?