カスタムのフィルター・プラグインを実装できます。
このタスクを実行する理由および時期
エミッター・フィルターとしてユーザー独自のフィルター・エンジンを使用する場合は、以下のステップにしたがって、カスタムのフィルター・プラグインを実装できます。
このタスクの手順
- com.ibm.events.filter.Filter インターフェースを実装した Java クラスとして、フィルター・プラグインを作成します。 このインターフェースでは、以下のメソッドが定義されています。
- isEventEnabled(CommonBaseEvent)
- 指定されたイベントがフィルター基準をパスしたかどうかを表すブール値を戻します。
イベントがエミッターに送信されると、エミッターはこのメソッドを呼び出し、送信されたイベントを渡します。
戻り値が true の場合、エミッターはパーシスタンスおよび配布のため、イベント・サーバーにそのイベントを送信します。
戻り値が false の場合、エミッターはそのイベントを廃棄します。
- getMetaData()
- プロバイダー名やバージョン番号など、フィルター・プラグインについての情報を戻します。
- close()
- フィルター・プラグインにより使用されたすべてのリソースを解放します。
このメソッドは、エミッターの close() メソッドが呼び出された場合に呼び出されます。
- com.ibm.events.filter.FilterFactory インターフェースを実装した、フィルター・ファクトリー・クラスを作成します。 このインターフェースには単一のメソッド getFilter() が定義され、作成したフィルター・クラス (Filter インターフェースの実装) のインスタンスを戻します。
- 作成したフィルター・ファクトリーのインスタンスを JNDI ネームスペースにバインドします。 初期化時に、エミッターは JNDI 検索を実行し、フィルター・ファクトリーにアクセスします。
- WebSphere ESB 管理コンソールで、ご使用のエミッター・ファクトリー・プロファイルを変更するか、または新規のプロファイルを作成します。 「フィルター・ファクトリー JNDI 名 (Filter Factory JNDI Name)」フィールドで、作成した FilterFactory 実装の JNDI 名を指定します。
エミッター・ファクトリー・プロファイルについて詳しくは、管理コンソールのオンライン・ヘルプを参照してください。
結果
ユーザーが作成したフィルター・ファクトリーを指定したエミッター・ファクトリー・プロファイルを使用してエミッターを作成すると、新規エミッターはユーザーのフィルター実装のインスタンスを使用します。
これで、標準のエミッター・インターフェースを使用してイベントを送信し、ユーザーのフィルター・プラグインを使用できます。