1.8.4 開始(タイマー)の場合の処理の流れ
アプリケーション呼び出しサービスが開始(タイマー)を処理する流れを説明します。
アプリケーション呼び出しサービスが開始(タイマー)を処理する流れを,次の図で示します。
- [説明]
-
アプリケーション呼び出しサービスが定期的に次の1.~4.の処理を行います。
-
ビジネスプロセス定義テーブルを検索し,開始(タイマー)を含むビジネスプロセス定義が存在するかどうかをチェックします。
-
1.でビジネスプロセス定義が存在していた場合,そのビジネスプロセス定義がアプリケーション呼び出し開始タイマーテーブルに存在しなければ追加します。また,追加したビジネスプロセス定義のタイマールールを評価して決定したイベント発火時刻とタイマーの実行回数「0」をアプリケーション呼び出し開始タイマーテーブルに設定します。
-
アプリケーション呼び出し開始タイマーテーブルから,ビジネスプロセス定義を次の条件で検索します。
・状態が「活性」
・イベント発火時刻≦現在時刻
-
3.でビジネスプロセス定義が見つかった場合(図の例では,ビジネスプロセス定義ID=10),開始(タイマー)の発火を行います。この発火は,CSCIWではビジネスプロセス定義に対する案件投入として行われます。その際,次の処理も行われます。
1. タイマーの実行回数を1増加させて,アプリケーション呼び出し開始タイマーテーブルに設定する
2. タイマーの実行回数が最大実行回数(Number of execution)に達していない場合,タイマールールを評価して決定した次回のイベント発火時刻をアプリケーション呼び出し開始タイマーテーブルに設定する
-