TOPプロジェクト管理> 第4回:プロセス定義からJavaクラスを呼び出す仕組み (3/3)

JBoss jBPMを試そう!

JBoss jBPMを試そう!

第4回:プロセス定義からJavaクラスを呼び出す仕組み

著者:レッドハット 三木 雄平

公開日:2008/02/21(木)

イベント定義

プロセス定義とカスタム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クラスは便利なテストツールとなるはずです。


前のページ  1  2  3


レッドハット株式会社 三木 雄平
著者プロフィール
レッドハット株式会社  三木 雄平
JBossグループ ソリューション・アーキテクト
株式会社SRAを経て、2002年に日本BEAシステムズ入社。カスタマーサポートチームにて、アプリケーションサーバおよびJava VM(JRockit)のサポートを担当。その後、プリセールスチームにてSIP Servlet関連の製品に携わる。2007年よりレッドハット JBossグループにてプリセールスを担当。
音楽(聴く&演奏)大好き。最近はJazzyなベースとリズムに魅了されてます。


INDEX
第4回:プロセス定義からJavaクラスを呼び出す仕組み
  Let's try it!
  jBPMプロジェクトの作成
イベント定義