自定义nifi处理器OnEnable anotation未被调用

时间:2017-09-18 13:22:20

标签: java apache apache-nifi

我有一个开始连接到弹性搜索的处理器,我在具有anotation @OnEnabled的方法上进行此连接,但是没有调用此方法:

@OnEnabled
public void onEnabled(final ConfigurationContext configurationContext) {
 <code connection goes here>
}

我在onTrigger方法上尝试了连接并且它可以正常工作,但这会杀死机器。

我的处理器从AbstractProcessor方法扩展。

1 个答案:

答案 0 :(得分:3)

您可能想要在启动处理器时调用@OnScheduled,然后关闭@OnStopped中的连接。

另一种选择是通过检查连接是否为空来懒惰地在onTrigger中创建连接,如果是,则初始化它。

请在此处查看@OnEnabled的说明:

https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#component-lifecycle

  

&#34;请注意,如果应用于a,则会忽略此注释   ReportingTask或Processor。对于Controller服务,启用和   禁用被视为生命周期事件,因为操作会产生这些事件   其他组件可用或不可用。&#34;