c3p0 или dbcp или BoneCP могут обрабатывать разорванные соединения - PullRequest
2 голосов
/ 12 июня 2011

Я читаю о c3p0 и dbcp для обработки соединений jdbc и слышал много проблем, и люди говорили, что dbcp мертв, но c3p0 не может делать jdbc4 и так далее.Но я не знаю, устарели ли эти сообщения.

Теперь я коснулся BoneCP, который объясняет, как обрабатываются разорванные соединения здесь .Соединения обертываются, и BoneCP выполняет некоторую предварительную проверку исключений перед их передачей в приложение.Если что-то не так с соединением, BoneCP удаляет его из пула.

1.) У всех этих пулов есть такая обработка соединения?

2.) Этот вопрос задают снова и сноваопять же, но я не смог найти никакого ответа с 2011 года. Какой я должен использовать для нового приложения, которое будет поддерживаться в течение следующих 10 лет, если не больше.

1 Ответ

2 голосов
/ 25 апреля 2013

1.) Я не знаю о dbcp, но что касается C3P0, эта функциональность существует в классе C3P0PooledConnection (посмотрите в методе invoke, исключение перехватывается и обрабатывается, если вы хотите больше подробностей о точной обработке I можете добавить их). Мне также нужно было узнать, содержит ли он его для удаления testOnCheckin / Checkout, и я проверил, содержит ли он это поведение.

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

...