Вы можете создать MessageConsumer
в методе с помощью @OnScheduled
, сохранить его как поле в классе процессора, а затем вызвать его внутри метода #onTrigger()
.
Метод @OnScheduled
будет вызываться всякий раз, когда процессор запланирован для запуска (т. Е. Пользователь щелкает / вызывает API для «запуска» процессора).Метод #onTrigger()
запускается каждый раз, когда процессор фактически выполняет какую-то единицу работы (т. Е. Когда один или несколько потоковых файлов извлекаются из входящей очереди и работают или когда срабатывает таймер, если это первый процессор в сегменте потока). Руководство разработчика Apache NiFi содержит дополнительную информацию по этому вопросу, а также общие сценарии и шаблоны , которые могут оказаться полезными.
Я бы также посмотрел исходный код для ConsumeJMS и AbstractJMSProcessor , поскольку это аналогичный шаблон.