我正打算实现一个自定义处理器,该处理器可以从RocketMQ读取消息。
我很需要
@onScheduled和@onTrigger,我应该使用哪一个以及如何实现?
答案 0 :(得分:2)
您可以使用MessageConsumer
在方法中创建@OnScheduled
,将其存储为处理器类中的字段,然后在#onTrigger()
方法中调用它。
每预定运行处理器(即用户单击/调用API以“启动”处理器),就会调用@OnScheduled
方法。 #onTrigger()
方法每次在处理器实际执行某些工作单元时运行(即,当一个或多个流文件从传入队列中拉出并对其进行操作时,或者如果计时器是流段中的第一个处理器触发时,则运行该方法) )。 Apache NiFi Developer Guide对此有更多信息,而common scenarios and patterns部分可能会有所帮助。
我还将查看ConsumeJMS和AbstractJMSProcessor的源代码,因为它是类似的模式。