У меня есть случай, когда мы используем NiFi для извлечения данных из нескольких источников. Информация базы данных для процессора DbcpConnectionPool
и ExecuteSQL
обновляется с помощью API NiFi rest в процессоре, когда пользователь выбирает таблицу из пользовательского интерфейса. Теперь проблема в том, что мы запустили извлечение Oracle для конкретной базы данных, и в то же время некоторые другие пользователи входят в систему и запускают процесс Oracle для какой-либо другой базы данных. Теперь остальные вызовы отправляются с использованием идентификатора процессора. Поскольку для оракула существует только один поток, второй вызов остановит первый поток.
Есть ли способ исправить это? Как динамически создавать процессор dbcpConnection или processGroup для каждого запроса.
Присоединение потока тока.
![Exiting Flow To Fetch Data From Oracle Using NiFi](https://i.stack.imgur.com/CNqCr.png)
В вызовах ListenHttp
содержится имя таблицы для извлечения. Перед выполнением вызова ListenHttp
делается повторный вызов, чтобы обновить dbcpConnectionPool URL-адресом и подробностями, а также обновить процессор ExecuteSql
необходимым процессором. Теперь, если в промежутке между обслуживанием одного запроса появляется другой запрос, как его обработать.