Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説

[目次][用語][索引][前へ][次へ]

3.6 ビジネスプロセスを使用した待機処理

待機アクティビティを定義してビジネスプロセス実行すると,特定の期限に達するまでビジネスプロセスの処理を遅延させることができます。待機アクティビティを定義したビジネスプロセスの待機処理を次の図に示します。

図3-52 待機アクティビティを定義したビジネスプロセスの待機処理

[図データ]

繰り返しアクティビティの中に待機アクティビティを定義することで,日次処理などの一定間隔での処理を実現することもできます。繰り返しアクティビティの中に待機アクティビティを定義した場合の,ビジネスプロセスの待機処理を次の図に示します。

図3-53 繰り返しアクティビティの中に待機アクティビティを定義したビジネスプロセスの待機処理

[図データ]

待機アクティビティの定義について次に説明します。

<この節の構成>
(1) 待機アクティビティでの待機時間の指定
(2) 待機アクティビティを実行するための条件
(3) 待機アクティビティに関する多重度

(1) 待機アクティビティでの待機時間の指定

待機アクティビティでは,待機時間として次のどちらかを指定します。

どちらの場合もXPath式を使用して待機時間を指定します。XPath式を使用すると,ビジネスプロセス内を流れる変数内の時刻に従って動作するため,待機時間を動的に指定できます。また,XPath式の代わりに,待機する間隔または待機を解除する期限を直接指定することもできます。待機する間隔はXML Schema型duration,待機を解除する期限はXML Schema型dateTimeで指定します。詳細については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.6.10 待機アクティビティ」を参照してください。

(2) 待機アクティビティを実行するための条件

待機アクティビティは,永続化しないビジネスプロセスでは使用できない,応答アクティビティのあとに設定しなければならないなど,幾つかの条件があります。待機アクティビティを実行するための条件については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.6.10 待機アクティビティ」を参照してください。

(3) 待機アクティビティに関する多重度

待機アクティビティを使用する上で性能を考えた場合,待機アクティビティに関する多重度を見直す必要があります。

待機アクティビティで指定した時間に待機処理を解除するプロセスインスタンスが複数存在している場合で,そのプロセスインスタンスの数よりJ2EEサーバのTimerServiceでタイムアウトメソッドをコールバックする最大スレッド数が小さいときは,性能上のボトルネックになることがあります。このような場合,J2EEサーバの環境設定で,タイムアウトメソッドのコールバックの最大スレッド数を設定します。

TimerServiceでタイムアウトメソッドをコールバックする最大スレッド数は,運用管理ポータルの[論理サーバの環境設定]で設定します。EJBコンテナの設定画面を開き,「タイムアウトメソッドのコールバックの最大スレッド数」の値を,ビジネスプロセスのインスタンス数に合わせて変更してください。設定方法の詳細については,マニュアル「アプリケーションサーバ 運用管理ポータル操作ガイド」の「10.9.3 EJBコンテナの設定」を参照してください。

注※
J2EEサーバ用ユーザプロパティファイル(usrconf.properties)のejbserver.ejb.timerservice.maxCallbackThreadsキーに対応します。