JBoss jBPMを試そう! 4

イベント定義

イベント定義

プロセス定義とカスタムJavaクラスができましたのでいよいよ、イベントの定義になります。今回はstateNodeを出た後にJavaクラスが呼び出される様にイベントを定義します。

jBPMグラフィカルデザイナのプロセス定義フィールド上のstateNodeを選択し、下段のPropertiesウィンドウで Eventsを右クリックで選択肢、New Eventを作成します。Event Typeには「after-signal」を選びます。再度、右クリックでNew Actionを選択し、GeneralタブのNameフィールドで適当なAction名を指定します。今回は「afterStateNode」とします。 これでイベントの定義が完了しました。

続いてこのイベントから先ほど作成したTestActionHanderを呼び出すように設定します。

Propertiesウィンドウで先ほど作成した「afterStateNode」を選択し、Detailsタブをクリックします。 Detailsタブ上のセレクトボックスでHanderを選択し、ClassNameに先ほど作成した、test.TestHandlerクラスを指定します(図3)。これでSimpleProcessからTestHandlerクラスを呼び出すことができるようになりました。


(画像をクリックすると別ウィンドウに拡大図を表示します)

実行

では、いよいよ定義できたSimpleProcessを動かしてみることにしましょう。

最初に記載したとおり、今回はJava SE環境でjBPMを動かしますので、このSimpleProcessを読み込んで操作するProcessWorkerクラスを実装することにします。

このProcessWorkerクラスはプロセス定義を読み込み、そこに定義されているノードを進めていくだけの簡単なプログラムです。

TestHandlerクラスを定義した要領でリスト2のProcessWorkerクラスを定義し、jBPMグラフィカルデザイナの 「Run→Run→Java Aplication」でProcessWorkerクラスを実行します。うまく実行された場合、jBPMグラフィカルデザイナ下段のConsoleウィンドウにデバッグ情報と共に、各ノード名とTestHandlerクラスから出力されたメッセージが表示されます。

今回はシンプルなプロセス定義とjavaクラスを利用してjBPMのプロセス定義からJavaクラスを呼び出す方法を解説しました。本記事を理解いた方々は、ぜひさらに複雑なプロセス定義から、複雑なJavaクラスを呼び出すことにチャレンジしてみてください。その際、今回プロセス定義の実行に利用したProcessWorkerクラスは便利なテストツールとなるはずです。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る