Я нашел следующую ссылку от Эриксона от 29 января 2009 года:
Имеет ли значение DBCP (пул соединений с базой данных Apache Commons)?
"У DBCP есть серьезные недостатки. Я не думаю, что это подходит для производственного приложения, особенно когда так много драйверов изначально поддерживают пул в своих источниках данных.
Солома, которая сломала спину верблюда, в моем случае была, когда я обнаружил, что весь пул был заблокирован все время, когда была предпринята новая попытка подключения к базе данных. Поэтому, если с вашей базой данных что-то происходит, что приводит к медленным соединениям или тайм-аутам, другие потоки блокируются, когда они пытаются вернуть соединение в пул, даже если они выполняются с использованием базы данных. "
Мне было интересно, сильно ли изменилось или улучшилось использование dbcp с момента публикации. Я вижу эту ТОЧНУЮ проблему в моей производственной системе.
У кого-нибудь есть альтернативы dbcp? Я использую его в структуре соединения с базой данных ... в основном, я унаследовал структуру, где инженеры думали, что было бы интересно переписать hibernate. не спрашивай ... это длинная и грязная история. В любом случае, у меня возникают проблемы с возвратом соединений в пул, когда база данных работает медленно или медленно. Есть идеи, предложения, альтернативы?