У меня есть пул соединений jdbc, использующий класс KeyedObjectPool, и я использую его с помощью реализованных методов openConnection()
и closeConnection()
. closeConnection()
обычно просто возвращает соединение с пулом и закрывает его только в том случае, если оно часто использовалось ранее. Поэтому он использует ConnectionPool.returnObject()
, который НЕ закрывает объект подключения (см. здесь).
class ConnectionPool
{
public openConnection(...)
{
...
}
public closeConnection()
{
...
}
}
Однако, если я использую пул соединений следующим образом:
try (Connection connection = sConnectionPool.openConnection(JdbcCredentials);)
{
doSomething();
}
catch (Exception e)
{
...
}
Является ли объект подключения, использующий try-with
, только возвращенным в пул или фактически закрытым с помощью connection.close()
(чего я не хочу, потому что это сделает мой пул бесполезным)?