DBCP устарел и не является производственным классом. Некоторое время назад мы провели внутренний анализ этих двух, создав тестовое устройство, которое генерировало нагрузку и параллелизм по отношению к обоим, чтобы оценить их пригодность в реальных условиях.
DBCP последовательно генерировал исключения в нашем тестовом приложении и изо всех сил пытался достичь уровней производительности, которые C3P0 был более чем способен обрабатывать без каких-либо исключений.
C3P0 также надежно обрабатывает разъединения БД и прозрачное повторное соединение при возобновлении, тогда как DBCP никогда не восстанавливал соединения, если ссылка была удалена из-под него. Хуже того, DBCP возвращал объекты Connection приложению, для которого был нарушен базовый транспорт.
С тех пор мы использовали C3P0 в 4 основных потребительских веб-приложениях с высокой нагрузкой и никогда не оглядывались назад.
ОБНОВЛЕНИЕ: Оказывается, после многих лет сидения на полке народ Apache Commons вывел DBCP из состояния покоя , и теперь он снова активно разработанный проект. Таким образом, мой оригинальный пост может быть устаревшим.
При этом я еще не испытывал производительность этой новой обновленной библиотеки и не слышал о том, чтобы она была де-факто в какой-либо недавней среде разработки приложений.