2014-10-29 1 views
0

У меня есть HikariCP, работающий в моем приложении clojure ring для пула соединений. Проблема в том, что я не знаю о хорошем месте, чтобы закрыть бассейн, поэтому я не знаю. Я разрешаю пулу умереть, когда приложение делает и никогда явно не закрывает его. Похоже, что это утечка соединений, когда я перераспределяю свое приложение на Elastic Beanstalk (который использует Tomcat), но я не совсем уверен. Мне интересно, где (где бы то ни было) является хорошим местом для добавления приложения для закрытия кода, чтобы я мог объяснить, как закрыть мой пул соединений. FYI, текущий процесс развертывания должен выполнить lein ring uberwar и развернуть эту войну через пользовательский интерфейс elasticbeanstalk.Как отключить пул соединений Хикари в веб-приложении clojure, развернутый в tomcat в flexbeanstalk

ответ

3

В вашем определении project.clj :ring где вы указываете :handler, вы можете также указать :init и :destroy ключи, с функциями, которые не принимают никаких аргументов, которые будут вызываться при запуске (для: INIT) и разрушения (: уничтожить) из ваш сервлет.

project.clj:

:ring {:handler hello-world.core/handler 
     :init hello-world.core/setup-connectionpool 
     :destroy hello-world.core/shutdown-connectionpool} 

ВИДЕТЬ lein-ring documentation

+0

Это идеальный вариант! Благодаря! – Brad

+0

Хотелось бы, чтобы я сам это нашел ... – Brad