4.3.8.1. 強制終了イベントを利用して、プロセスを強制終了する¶
コラム
コラム
4.3.8.1.1. プロセス定義を作成する¶
- 実行中のプロセス(サブプロセス)のみを終了して、次のフローエレメントへ進行する
- 「関連するプロセスもすべて含めて強制終了する」設定を有効にすることにより、実行中のプロセス以外のプロセスも終了する
- 通常の終了イベントで終了する
4.3.8.1.1.1. サブプロセスを利用して、強制終了するプロセス定義を作成する¶
「プール」を設置します。
「開始イベント」を設置します。
- 「サブプロセスを利用する強制終了プロセス」の処理対象ユーザを設定します。プールを選択した状態で、「プロセス」タブから処理対象ユーザに「 aoyagi 」と設定します。
「パラレルゲートウェイ」を設置します。
「サブプロセス」を設置します。
サブプロセス内に「開始イベント」を設置します。
「パラレルゲートウェイ」を設置します。
- 関連するプロセスを含めないで強制終了するルートを作成します。「ユーザタスク」を設置します。
- 「関連するプロセスを含めないで強制終了する」の担当者を設定します。「ユーザタスク」を選択した状態で、「メインコンフィグ」タブから担当者に「 aoyagi 」と設定します。
「強制終了イベント」を設置します。
- 「関連するプロセスもすべて含めて強制終了する」の設定を確認します。「メインコンフィグ」タブの「関連するプロセスもすべて含めて強制終了する」はデフォルトでチェックが入っていません。現在作成しているルートは設定不要です。
- 関連するプロセスもすべて含めて強制終了するルートを作成します。「ユーザタスク」を設置します。
- 「関連するプロセスもすべて含めて強制終了する」の担当者を設定します。「ユーザタスク」を選択した状態で、「メインコンフィグ」タブから担当者に「 aoyagi 」と設定します。
「強制終了イベント」を設置します。
- 「強制終了イベント」に到達した際に、関連するプロセスもすべて含めて強制終了させる設定を行います。「強制終了イベント」を選択した状態で、「メインコンフィグ」タブにある「関連するプロセスもすべて含めて強制終了する」チェックボックスにチェックを入れます。図 : 「サブプロセス」 - 「強制終了イベント」 - 「プロパティ」 - 「メインコンフィグ」 - 「関連するプロセスもすべて含めて強制終了する」
- 「強制終了イベント」でサブプロセス内が終了した際に進行する「全て強制終了しなかった場合のタスク」を設置します。「ユーザタスク」を設置します。
- 「全て強制終了しなかった場合のタスク」の担当者を設定します。「ユーザタスク」を選択した状態で、「メインコンフィグ」タブから担当者に「 aoyagi 」と設定します。
- 「終了イベント」を設置します。
- 終了イベントを使用した場合の動作を確認するルートを作成します。「ユーザタスク」を設置します。
- 「終了イベントで終了する」タスクの担当者を設定します。「ユーザタスク」を選択した状態で、「メインコンフィグ」タブから担当者に「 aoyagi 」と設定します。図 : 「ユーザタスク」 - 「プロパティ」 - 「メインコンフィグ」 - 「担当者」
- 「終了イベント」を設置します。
4.3.8.1.1.2. コールアクティビティを利用して、強制終了するプロセス定義を作成する¶
- 「コールアクティビティから呼び出される強制終了プロセス」を作成します。プールを設置します。
「開始イベント」を設置します。
- 「コールアクティビティ」から呼び出される際に使用するため、プロセス定義キーを設定します。プールを選択した状態で、「プロセス」タブの「プロセス定義キー」に「 terminate_end_event_with_call_activity_1 」と設定します。図 : 「プール」 - 「プロパティ」 - 「プロセス」 - 「プロセス定義キー」
「パラレルゲートウェイ」を設置します。
- 関連するプロセスを含めないで強制終了するルートを作成します。「ユーザタスク」を設置します。
- 「関連するプロセスを含めないで強制終了する」タスクの担当者を設定します。「ユーザタスク」を選択した状態で、「メインコンフィグ」タブから担当者に「 aoyagi 」と設定します。図 : 「ユーザタスク」 -「プロパティ」 -「メインコンフィグ」 - 「担当者」
「強制終了イベント」を設置します。
- 「関連するプロセスもすべて含めて強制終了する」の設定を確認します。「メインコンフィグ」タブの「関連するプロセスもすべて含めて強制終了する」はデフォルトでチェックが入っていません。現在作成しているのは関連するプロセスを含めないで強制終了するルートのため、設定は不要です。
- 関連するプロセスもすべて含めて強制終了するルートを作成します。「ユーザタスク」を設置します。
- 「関連するプロセスもすべて含めて強制終了する」タスクの担当者を設定します。「ユーザタスク」を選択した状態で、「メインコンフィグ」タブから担当者に「 aoyagi 」と設定します。図 : 「ユーザタスク」 -「プロパティ」 -「メインコンフィグ」 - 「担当者」
- 関連するプロセスもすべて含めて強制終了するように設定します。「強制終了イベント」を選択した状態で、「メインコンフィグ」タブにある「関連するプロセスもすべて含めて強制終了する」チェックボックスにチェックを入れます。図 : 「強制終了イベント」 - 「プロパティ」 -「メインコンフィグ」 - 「関連するプロセスもすべて含めて強制終了する」
- 「コールアクティビティを利用する強制終了プロセス」を作成します。プールを設置します。
「レーン」の中に「開始イベント」を設置します。
- 「コールアクティビティを使用する強制終了プロセス」の処理対象ユーザを設定します。プールを選択した状態で、「プロセス」タブから「処理対象ユーザ」に「 aoyagi 」と設定します。図: 「プール」 - 「プロパティ」 - 「プロセス」 - 「処理対象ユーザ」
「パラレルゲートウェイ」を設置します。
- コールアクティビティを使用して、強制終了するプロセスを呼び出すルートを作成します。「コールアクティビティ」を設置します。
- コールアクティビティで呼び出すプロセスを設定します。「メインコンフィグ」タブから「呼び出し対象」に、「コールアクティビティから呼び出される強制終了プロセス」のプロセス定義ID「terminate_end_event_with_call_activity_1」を入力します。図 : 「コールアクティビティ」 - 「プロパティ」 - 「メインコンフィグ」 - 「呼び出し対象」
- 「関連するプロセスもすべて含めて強制終了する」設定がされていない終了イベントへ進んだ場合のタスクを設置します。「ユーザタスク」を設置します
- 「全て強制終了しなかった場合のタスク」の担当者を設定します。「ユーザタスク」を選択した状態で、「メインコンフィグ」タブから担当者に「 aoyagi 」と設定します。図 : 「ユーザタスク」 - 「プロパティ」 -「メインコンフィグ」 - 「担当者」
「終了イベント」を設置します。
- 終了イベントで終了するルートを作成します。「ユーザタスク」を設置します。
- 「終了イベントで終了する」タスクの担当者を設定します。「ユーザタスク」を選択した状態で、「メインコンフィグ」タブから担当者に「 aoyagi 」と設定します。図 : 「ユーザタスク」 - 「プロパティ」 - 「メインコンフィグ」 - 「担当者」
「終了イベント」を設置します。
4.3.8.1.2. 結果を確認する¶
このチュートリアルで作成した「プロセス定義」を実行環境にデプロイし、実行結果の確認を行います。
4.3.8.1.2.1. 「サブプロセスを使用する強制終了ベント」の動作確認¶
4.3.8.1.2.1.1. 終了イベントの動作確認¶
「終了イベント」に到達した場合のプロセスの状態を確認します。
- タスクを確認します。「サイトマップ」→「BPM」→「タスク一覧」画面を表示します。
- 「終了イベントで終了する」タスクを実行します。「個人タスク」から、「終了イベントで終了する」タスクの「」ボタンをクリックします。
-
「プロセス参照」画面、または、「拡大表示」画面から、タスクが下記の状態であることを確認します。
4.3.8.1.2.1.2. 「関連するプロセスもすべて含めて強制終了する」設定をしなかった強制終了イベントの動作確認¶
- タスクを確認します。「サイトマップ」→「BPM」→「タスク一覧」画面を表示します。
- 「関連するプロセスを含めないで強制終了する」で終了した場合を確認します。「個人タスク」から、「関連するプロセスを含めないで強制終了する」タスクの「」ボタンをクリックし、実行します。
-
「プロセス参照」画面、または、「拡大表示」画面から、タスクが下記の状態であることを確認します。
4.3.8.1.2.1.3. 「関連するプロセスもすべて含めて強制終了する」設定をした強制終了イベントの動作確認¶
- タスクを確認します。「サイトマップ」→「BPM」→「タスク一覧」画面を表示します。
- 「関連するプロセスもすべて含めて強制終了する」を実行します。「個人タスク」から、「関連するプロセスもすべて含めて強制終了する」タスクの「」ボタンをクリックします。
- 「関連するプロセスもすべて含めて強制終了する」タスクを処理したことで、「タスク一覧」にあったタスクが消えることを確認します。
- プロセスの状態を確認します。「サイトマップ」→「BPM」→「プロセス一覧」画面を表示します。
「プロセス一覧」画面で対象のタスクを検索し、「」ボタンをクリックします。
「プロセス参照」画面、または、「拡大表示」画面から、タスクが下記の状態であることを確認します。
4.3.8.1.2.2. 「コールアクティビティを使用する強制終了プロセス」の動作確認¶
4.3.8.1.2.2.1. 終了ベントルートの動作確認¶
実行手順、確認箇所については「終了イベントの動作確認」と同じです。
4.3.8.1.2.2.2. 「関連するプロセスもすべて含めて強制終了する」設定をしなかった強制終了イベントの動作確認¶
- タスクを確認します。「サイトマップ」→「BPM」→「タスク一覧」画面を表示します。
- 「強制終了イベント」で終了した場合を確認します。「個人タスク」から、「関連するプロセスを含めないで終了する」の「」ボタンをクリックします。
- 「関連するプロセスを含めないで終了する」タスクを処理することで、「全て強制終了しなかった場合のタスク」がきます。
「プロセス参照」画面、または、「拡大表示」画面から、タスクが下記の状態であることを確認します。
4.3.8.1.2.2.3. 「関連するプロセスもすべて含めて強制終了する」設定をした強制終了イベントの動作確認¶
- タスクを確認します。「サイトマップ」→「BPM」→「タスク一覧」画面を表示します。
- 「関連するプロセスもすべて含めて強制終了する」を実行します。「個人タスク」から、「関連するプロセスもすべて含めて強制終了する」タスクの「」ボタンをクリックします。
- 「関連するプロセスもすべて含めて強制終了する」タスクを処理したことで、「タスク一覧」にあったタスクが消えることを確認します。
- プロセスの状態を確認します。「サイトマップ」→「BPM」→「プロセス一覧」画面を表示します。
- 「プロセス一覧」画面で対象のタスクを検索します。プロセス定義キー「 terminate_end_event_with_call_activity_1 」と「 terminate_end_event_with_call_activity_2 」のステータスが「完了」になっていることを確認します。
正確な「強制終了イベント」の動きも、「プロセス詳細画面」のプロセス履歴から確認できます。