BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Integration > BPM トピック > BPM プラグイン プログラミング ガイド > プラグイン通知の使い方 |
BPM プラグイン プログラミング ガイド
|
プラグイン通知の使い方
この章では、プラグイン通知を使用する方法について説明します。この章の内容は以下のとおりです。
概要
BPM は、通知のブロードキャストによりプラグインと通信します。通知とは、次の図に示すように、イベントが発生したことを WebLogic Integration プロセス エンジンがプラグインに送信するメッセージです。
図5-1 WebLogic Integration プロセス エンジンによりプラグインに送信される通知
プラグインを通知リスナとして登録することにより、com.bea.wlpi.server.plugin パッケージの一部として提供される最大 4 タイプの通知を受信できます。 注意: パフォーマンスへの影響を最小限に抑えるため、受信が不可欠な通知についてのみ、プラグインを登録してください。特に、実行時インスタンス通知とタスク通知を受信するために登録する場合は注意してください。 次の表では、以下について定義します。
次の節では、プラグインを通知リスナとして登録および登録解除する方法、および受信した通知に関する情報を取得する方法について説明します。
通知リスナとしてのプラグインの登録
通常、プラグインはロード時に自分を通知リスナとして登録する必要があります。たとえば、ライフサイクル管理メソッドに説明されているように、load() メソッドを実装する場合、必要であれば、このプラグインを通知リスナとして登録します。
プラグインを通知リスナとして登録するには、プラグインに受信させる通知のタイプに基づいて、次の表に定義されている com.bea.wlpi.server.plugin.PluginManager メソッドの 1 つ(または必要な複数のメソッド)を使用します。
注意: Plug-in Manager への接続方法については、Plug-in Manager への接続を参照してください。
次の表で、プラグイン通知登録メソッドのために値を指定する必要のあるパラメータについて説明します。
通知リスナ登録メソッドの詳細については、com.bea.wlpi.server.plugin.PluginManagerCfg Javadoc を参照してください。 プラグイン サンプルから抜粋した次のコード リストは、プラグインをすべての通知タイプおよびそのすべての関連イベントの通知リスナとして登録する方法を示しています。この抜粋は、SAMPLES_HOME/integration/samples/bpm_api/plugin/src/com/bea/wlpi/tour/po/plugin ディレクトリの SamplePluginBean.java ファイルから取り出したものです。重要なコード行は、太字で示します。 コード リスト 5-1 通知リスナとしてのプラグインの登録 プラグイン サンプルの詳細については、BPM プラグイン サンプルを参照してください。
.
.
.
public void load(PluginObject pluginData) throws PluginException {
.
.
.
pm.addInstanceListener(plugin, PluginConstants.EVENT_NOTIFICATION_ALL);
pm.addTaskListener(plugin, PluginConstants.EVENT_NOTIFICATION_ALL);
pm.addTemplateDefinitionListener(plugin,
PluginConstants.EVENT_NOTIFICATION_ALL);
pm.addTemplateListener(plugin, PluginConstants.EVENT_NOTIFICATION_ALL);
.
.
.
}
受信した通知に関する情報の取得
通知を受信した後、そのソースなど、通知に関する情報を取得できます。
次の表に、受信した通知に関する情報を取得するために利用できるメソッドを示します。これらのメソッドには、すべての通知タイプを拡張する com.bea.wlpi.server.plugin.PluginNotification クラスを介してアクセスできます。
これらのメソッドの詳細については、com.bea.wlpi.server.plugin.PluginNotification Javadoc を参照してください。 さらに、次の表では、変更されたソース コンポーネントに関する追加情報を取得するために各通知タイプに対して利用できるメソッドを示します。
通知リスナとしてのプラグインの登録解除
通常、プラグインはアンロード時に自分の通知リスナとしての登録を解除する必要があります。たとえば、ライフサイクル管理メソッドに説明されているように、unload() メソッドを実装する場合、必要であれば、このプラグインの通知リスナとしての登録を解除します。
プラグインの通知リスナとしての登録を解除するには、削除する通知リスナのタイプに基づいて、次の表に定義されている com.bea.wlpi.server.plugin.PluginManager メソッドの 1 つ(または必要な複数のメソッド)を使用します。
注意: Plug-in Manager への接続方法については、Plug-in Manager への接続を参照してください。
どの場合も、通知リスナとしての登録を解除するプラグインを識別する com.bea.wlpi.server.plugin.Plugin オブジェクトを指定する必要があります。 次のコード リストは、すべての通知タイプおよびそのすべての関連イベントについてプラグインの通知リスナとしての登録を解除する方法を示しています。重要なコード行は、太字で示します。 コード リスト 5-2 通知リスナとしてのプラグインの登録解除
public void unload() throws PluginException {
.
.
.
pm.removeInstanceListener(plugin);
pm.removeTaskListener(plugin);
pm.removeTemplateDefinitionListener(plugin);
pm.removeTemplateListener(plugin);
.
.
}
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |