По умолчанию NiFi (по крайней мере, с версии 1.8.0), похоже, поддерживает одно соединение с базой данных для каждой включенной службы контроллера DBCPConnectionPool. У меня есть несколько служб контроллера DBCPConnectionPool, настроенных для доступа к одному и тому же серверу с разными параметрами, поэтому это быстро складывается из ограниченного числа подключений к моему серверу базы данных. У меня есть запланированный рабочий процесс, который работает ~ каждую ночь. Соединения не должны быть активными, за исключением случаев активного использования в течение короткого промежутка времени.
Оглядываясь вокруг документация DBCPConnectionPool, похоже, что нет параметров конфигурации службы контроллера, связанных с Apache Commons-DBCP BasicDataSource
параметры, такие как minIdle
и maxIdle
, которые, я думаю, должны быть установлены на 0 в моем конкретном использовании. кейс. В качестве альтернативы, я думаю, я мог бы установить maxConnLifetimeMillis
на что-то даже в диапазоне минут и удовлетворить мой вариант использования (соединение не нужно разрывать немедленно, но в течение разумного периода времени).
Есть ли способ передать эти параметры без изменения кода DBCPConnectionPool? Примет ли Commons-DBCP эти параметры, переданные как параметры JDBC, установив их как динамические свойства в конфигурации службы контроллера NiFi DBCPConnectionPool?