dbcp имеет проблемы с возвратом соединений, когда база данных недоступна

Я нашел следующую ссылку Эриксона от 29 января 2009 года:

По-прежнему ли DBCP (пул соединений базы данных Apache Commons) актуально?

«У DBCP есть серьезные недостатки. Я не думаю, что он подходит для производственного приложения, особенно когда так много драйверов изначально поддерживают объединение в свои источники данных.

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

Мне было интересно, многое ли изменилось или улучшилось с помощью dbcp со времени этой публикации. Я вижу эту ТОЧНУЮ проблему в своей производственной системе.

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


person jkilgrow    schedule 16.03.2010    source источник


Ответы (1)


Попробуйте BoneCP: http://jolbox.com

В вашем случае у него есть вспомогательные потоки выпуска, которые позаботятся о медленном освобождении соединения или о чем-то еще.

person JustMe    schedule 01.06.2010