我有一个开始与弹性搜索建立连接的处理器,我正在使用带有@OnEnabled注释的方法进行此连接,但未调用此方法:
@OnEnabled
public void onEnabled(final ConfigurationContext configurationContext) {
<code connection goes here>
}
我已经尝试过onTrigger方法上的连接,并且可以正常工作,但这会杀死机器。
我的处理器是从AbstractProcessor方法扩展而来的。
最佳答案
您可能希望在启动处理器时调用@OnScheduled,然后关闭@OnStopped中的连接。
另一种选择是通过检查连接是否为空,然后初始化该连接来延迟在onTrigger中创建连接。
在这里查看@OnEnabled的描述:
https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html#component-lifecycle
“请注意,如果将注释应用于
ReportingTask或Processor。对于控制器服务,启用和
禁用被视为生命周期事件,因为该行为使它们成为
其他组件无法使用或无法使用。”