Как бороться с длинными / постоянными открытыми ручками в JDBI? - PullRequest
1 голос
/ 13 марта 2020

Документация библиотеки JDBI описывает различные варианты использования дескрипторов и SQL объектов, но, похоже, отсутствует сценарий использования, который я не могу себе представить, задает c для моего текущего кода:

I хотите открыть соединение с базой данных, а затем просто держать это соединение открытым до конца времени выполнения моего приложения (которое измеряется в днях).

Я не хочу нести затраты на производительность при необходимости повторного открытия соединение, когда мне это нужно, поэтому я не хочу вручную вызывать withHandle / withExtension или использовать функциональность onDemand.

Я мог бы просто открыть дескриптор и сохранить его (я Я не обеспокоен потенциальной утечкой ресурсов, так как дескриптор будет храниться в управляемом CDI Singleton), но что тогда произойдет, если база данных или соединение с ней исчезнет?

Я представляю в некоторых случаях После этого мне придется иметь дело с обновлением дескриптора после отключения базы данных, так как подобные вещи обязательно произойдут и не должны требовать моего приложения. на перезапуск, но где будет подходящая точка для обработки этого?

...