我有一个开始连接到弹性搜索的处理器,我在具有anotation @OnEnabled的方法上进行此连接,但是没有调用此方法:
@OnEnabled
public void onEnabled(final ConfigurationContext configurationContext) {
<code connection goes here>
}
我在onTrigger方法上尝试了连接并且它可以正常工作,但这会杀死机器。
我的处理器从AbstractProcessor方法扩展。
答案 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;