Настройка dbcp

, как это ни удивительно звучит, ещё одна библиотека для создания пулов соединений. Вместе с HikariCP и c3p0 они составляют триумвират наиболее популярных библиотек пулов для java. DBCP разрабатывается The Apache Foundation, что сделало его некоторым образом тяжёловесным.

Простое создание пула соединений

Настройка пула соединений с помощью DBCP практически не отличается от настройки соединения: — создаём экземпляр пула, сообщаем ему класс драйвера, url,  имя и пароль для входа в базу. Пул готов.

Детальная настройка пула соединений

Для тех, кто хочет понять, как устроен DBCP или для тех, кто хочет заняться микроменеджементом пула, предусмотрена возможность вручную создать все его компоненты.

Создание пула начинается с фабрики соединений с базой, которая настраивается с помощью jdbc url и имени и пароля для входа в базу. Из этой, пока ещё обычной фабрики, создают фабрику соединений, поддерживающую пулы. Далее создаётся пул объектов, который настраивается фабрикой соединений, поддерживающей пулы. Этот пул объектов будет обращаться к фабрике, когда ему потребуется новое соединение. Одновременно фабрика хочет знать, кто же управляет её продукцией, поэтому ей передают созданный объект пула. Наконец создаётся DataSource из пула, который уже можно использовать как обычно.

DBCP и

Использование DBCP в Spring даже вынесено в документацию по Spring, поэтому я не буду сильно отклоняться от неё:

Код примера доступен на github. Для запуска примера требуется установить PostgreSQL сервер и разрешить к нему доступ. Если сервер будет установлен не на локальной машине, требуется изменить его адрес в коде.