4.3.14.1. パラレルゲートウェイを使用する¶
コラム
4.3.14.1.1. パラレルゲートウェイを使用し、並列処理を行う¶
- パラレルゲートウェイのプロパティを設定します。
パラレルゲートウェイで分岐と結合を行うにあたり、特別なプロパティの設定を行う必要はありません。
- シーケンスフローのプロパティを設定します。
パラレルゲートウェイから出力されているシーケンスフローは全て無条件で同時並列に分岐対象となるため、特別なプロパティの設定を行う必要はありません。
スクリプトタスク「ユーザAのじゃんけんの手を決める」 のプロパティを設定します。
図:スクリプトタスク「ユーザAのじゃんけんの手を決める」スクリプトタスク「ユーザAのじゃんけんの手を決める」にユーザAの手をランダムに選択し、変数 userA に格納するスクリプトを設定します。
function run(variables, execution, entity) { var random = new java.util.Random(); var hand = random.nextInt(3); entity.setVariable('userA', hand); }図:スクリプトタスク「ユーザAのじゃんけんの手を決める」の「プロパティエリア」-「メインコンフィグ」-「スクリプト」スクリプトタスク「ユーザBのじゃんけんの手を決める」 のプロパティを設定します。
図:スクリプトタスク「ユーザBのじゃんけんの手を決める」スクリプトタスク「ユーザBのじゃんけんの手を決める」にユーザBの手をランダムに選択し、変数 userB に格納するスクリプトを設定します。
function run(variables, execution, entity) { var random = new java.util.Random(); var hand = random.nextInt(3); entity.setVariable('userB', hand); }図:スクリプトタスク「ユーザBのじゃんけんの手を決める」の「プロパティエリア」-「メインコンフィグ」-「スクリプト」スクリプトタスク「結果を表示する」のプロパティを設定します。
図:スクリプトタスク「結果を表示する」スクリプトタスク「結果を表示する」にユーザAとユーザBのじゃんけんの勝者を変数 winner に格納するスクリプトを設定します。
function run(variables, execution, entity) { var userAhand = entity.getVariable('userA'); var userBhand = entity.getVariable('userB'); if (userAhand == userBhand) { Debug.console('The game was drawn.'); entity.setVariable('winner', 'The game was drawn.'); } else if (userAhand == 0) { if (userBhand == 1) { Debug.console('USER_A WINS'); entity.setVariable('winner', 'USER_A'); } else { Debug.console('USER_B WINS'); entity.setVariable('winner', 'USER_B'); } } else if (userAhand == 1) { if (userBhand == 2) { Debug.console('USER_A WINS'); entity.setVariable('winner', 'USER_A'); } else { Debug.console('USER_B WINS'); entity.setVariable('winner', 'USER_B'); } } else if (userAhand == 2) { if (userBhand == 0) { Debug.console('USER_A WINS'); entity.setVariable('winner', 'USER_A'); } else { Debug.console('USER_B WINS'); entity.setVariable('winner', 'USER_B'); } } }図:スクリプトタスク「結果を表示する」の「プロパティエリア」-「メインコンフィグ」-「スクリプト」
- 実行結果を確認します。
上記で作成したプロセスを実行環境にデプロイし、実行した結果の確認を行います。
図:結果表示図:変数一覧