Хикари: 2.4.7
Драйвер PostgreSQL JDBC: 9.4-1201-jdbc41
Я пытаюсь понять, что нужно сделать с объектом java.sql.Connection
, чтобы он снова стал доступен в пуле соединений?
Я только что представил пул соединений для многопоточного приложения, которое ранее устанавливало / разрывало соединения с каждым оператором SQL.
После знакомства с Хикари я заметил, что как только я нажимаю maximumPoolSize
, каждая последующая попытка HikariDataSource.getConnection
будет терпеть неудачу из-за connectionTimeout
. Так что, похоже, я каким-то образом не «освобождаю» эту связь.
Типичное использование объекта Connection
:
# omits Exception handling, parameter substitution, result evaluation.
PreparedStatement preparedStatement = hikariDataSource.getConnection().prepareStatement(sql);
preparedStatement.executeQuery();
preparedStatement.close();
Ожидается ли что-нибудь еще, что нужно сделать с этим соединением, чтобы его можно было повторно использовать в пуле соединений?
Autocommit
горит. Connection.close()
, если не делать чего-то особенного, предоставленного Хикари, казалось, как раз то, чего я хотел избежать.