2017-09-18 7 views
0

私は弾性検索への接続を開始するプロセッサを持っていますが、アノテーションが@OnEnabledのメソッドでこの接続を行っていますが、このメソッドは呼び出されていません:カスタムニファイプロセッサOnEnableアノテーションが呼び出されていない

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

私はonTriggerメソッドで接続を試しても動作しますが、これはマシンを強制終了します。

私のプロセッサは、AbstractProcessorメソッドから拡張されています。

答えて

2

プロセッサを起動するときに呼び出される@OnScheduledが必要な場合は、@ OnStoppedの接続を閉じます。

別の方法として、接続がnullであるかどうかをチェックし、それが初期化されているかどうかを調べることによって、onTriggerで接続を遅らせることができます。

はここ@OnEnabledの説明を参照してください:

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

「、コントローラサービスについて ReportingTaskまたはプロセッサに適用された場合、この注釈が無視されることに注意してください可能と 無効化されています。他のコンポーネントによって が使用可能または使用不可になるため、ライフサイクルイベントが考慮されます。

関連する問題