У меня есть HikariCP, работающий в моем кольцевом приложении clojure для пула соединений. Проблема в том, что я не знаю, где можно закрыть бассейн, поэтому я не знаю. Я разрешаю пулу умирать, когда это делает приложение, и никогда не закрываю его явно. Похоже, что это утечка соединений всякий раз, когда я повторно развертываю свое приложение в Elastic Beanstalk (который использует Tomcat), но я не совсем уверен. Мне интересно, где (если где-нибудь) хорошее место для размещения кода закрытия приложения, чтобы я мог явно закрыть свой пул соединений. К вашему сведению, текущий процесс развертывания заключается в выполнении lein ring uberwar
и развертывании этой войны через пользовательский интерфейс elasticbeanstalk.
Как отключить пул соединений Hikari в веб-приложении clojure ring, развернутом на tomcat в elasticbeanstalk
Ответы (1)
В вашем определении project.clj :ring
, где вы указываете :handler
, вы также можете указать ключи :init
и :destroy
с функциями, не принимающими аргументов, которые будут вызываться при запуске (для :init) и уничтожении (:destroy) вашего сервлета.
проект.clj:
:ring {:handler hello-world.core/handler
:init hello-world.core/setup-connectionpool
:destroy hello-world.core/shutdown-connectionpool}
См. документацию по lein-кольцу.
person
NielsK
schedule
30.10.2014
Это потрясающе! Спасибо!
- person Brad; 03.11.2014