Как я могу настроить DBFiConnectionPool от NiFi, чтобы не оставлять открытыми незанятые соединения? - PullRequest
0 голосов
/ 02 ноября 2018

По умолчанию NiFi (по крайней мере, начиная с версии 1.8.0) поддерживает одно соединение с базой данных для каждой включенной службы контроллера DBCPConnectionPool. У меня есть несколько служб контроллера DBCPConnectionPool, настроенных для доступа к одному и тому же серверу с различными параметрами, поэтому это быстро приводит к ограниченному количеству соединений с моим сервером базы данных. У меня есть запланированный рабочий процесс, который запускается ~ ночью. Соединения не должны быть активными, за исключением случаев, когда они активно используются в течение короткого промежутка времени.

При просмотре документации DBCPConnectionPool выясняется, что существуют не параметры конфигурации службы контроллера, связанные с Apache Commons-DBCP BasicDataSource, такие как minIdle и maxIdle, который, я думаю, должен быть установлен равным 0 в моем конкретном случае использования. В качестве альтернативы, я думаю, что я мог бы установить maxConnLifetimeMillis на что-то даже в диапазоне минут и удовлетворить свой вариант использования (соединение не должно быть разорвано немедленно , но в течение разумного периода времени).

Есть ли способ передать эти параметры без изменения кода DBCPConnectionPool? Примет ли Commons-DBCP эти параметры, переданные в качестве параметров JDBC, путем установки их в качестве динамических свойств в конфигурации службы контроллера NiFi DBCPConnectionPool?

1 Ответ

0 голосов
/ 12 ноября 2018

NiFi по состоянию на 1.8.0 сохраняет одно соединение на базу данных всегда открытым , поскольку он использует конфигурацию по умолчанию Commons-DBCP 2.5.0, которая не очищает соединения. Значение по умолчанию Commons-DBCP для timeBetweenEvictionRunsMillis равно -1, что приводит к тому, что исключение простоя подключения никогда не запускается.

NiFi 1.8.0 не предоставляет параметры конфигурации Commons-DBCP , необходимые для настройки этих временных параметров.

NiFi 1.9.0 будет выставлять эти настройки, добавленные в этот коммит .

...