2013-07-22 3 views
3

Я разрабатываю WebApp, и к нему можно получить доступ 24/7, поэтому на самом деле у меня нет момента, когда я могу сказать: «Наконец-то я больше не использую пул соединений, я собираюсь закрыть его вниз".Есть ли неудобство, если я никогда не вызываю метод shutdown() в пуле соединений (BoneCP)?

Я читал (здесь, в SO: BoneCP correct usage), что я должен использовать метод shutdown, если я уверен, что больше не использую подключения, но это не мой случай.

Итак, есть ли какие-либо проблемы, если я не выключу пул?

+0

Где вы это читали? – MaVRoSCy

+0

@MaVRoSCy http://stackoverflow.com/questions/9327764/bonecp-correct-usage – Clawdidr

+0

Спросите себя: «Вы полностью работаете с пулом соединений?». И ответ должен быть явным ... –

ответ

0

Ответ заключается в том, чтобы позволить пулу соединений управлять соединениями с базой данных. Любой приличный пул соединений предоставит некоторые параметры конфигурации, которые позволят вам настроить политики хранения соединений, размеры минимального/максимального пула, тестирование/проверку соединения и т. Д. ,

Я посмотрел вашу ссылку (BoneCP correct usage), и я бы предложил настроить пул соединений на уровне веб-контейнера в качестве источника данных JNDI, а не в вашем приложении. Затем ваше приложение получит доступ к пулу подключений через JNDI. Существует ряд преимуществ для этого подхода. Вот несколько:

1) ваше приложение не знает или не заботится о том, использует ли он пул подключений или обычное соединение jdbc. Последнее полезно во время тестирования разработки, поскольку время запуска быстрее, а использование памяти меньше. 2) ваше приложение не нуждается в деталях подключения к базе данных (например, адрес jdbc, имя пользователя и пароль). Позволяет использовать общий файл WAR для всех развертываний. 3) конфигурация и настройка пула могут быть выполнены без необходимости восстановления и повторного развертывания вашего приложения.