4.3.18.4. IM-LogicDesignerタスクを利用してメッセージを送信する際に指定するエグゼキューションを取得する¶
コラム
コラム
4.3.18.4.1. エレメントを配置する¶
- プールを2つ(エグゼキューションを取得するプロセスと、メッセージキャッチイベントを配置するプロセス)配置します。
- エグゼキューションを取得するプロセスには開始イベント、IM-LogicDesignerタスク、終了イベントを配置して、順にシーケンスフローで接続します。
- メッセージキャッチイベントを配置するプロセスには開始イベント、パラレルゲートウェイ、メッセージキャッチイベントを2つ、パラレルゲートウェイ 、終了イベントを配置して、順にシーケンスフローで接続します。
4.3.18.4.2. プロセスのプロパティを設定する¶
プロセスのプロパティで「メッセージ&シグナル」タブを開きます。
「メッセージ」に以下の値を追加します。
ID 名前 message-sample1 message-sample1 message-sample2 message-sample2
4.3.18.4.3. プール(エグゼキューションを取得するプロセス)のプロパティを設定する¶
- プールのプロパティで「プロセス」タブを開きます。
- エグゼキューションを取得するプロセスの「プロセス定義キー」に im_logicdesigner_task_execution_sample-get_execution を入力します。
- エグゼキューションを取得するプロセスの「名前」に エグゼキューションを取得するプロセス を入力します。
- 「処理対象ユーザ」に aoyagi を入力します。
4.3.18.4.4. プール(メッセージキャッチのプロセス)のプロパティを設定する¶
- プールのプロパティで「プロセス」タブを開きます。
- 「プロセス定義キー」に im_logicdesigner_task_execution_sample-message_catch_process を入力します。
- 「名前」に メッセージキャッチのプロセス を入力します。
- 「処理対象ユーザ」に aoyagi を入力します。
4.3.18.4.5. メッセージキャッチイベントのプロパティを設定する¶
- メッセージキャッチイベントのプロパティで「メインコンフィグ」タブを開きます。
- 「メッセージキャッチイベント1」の「参照メッセージ」に message-sample1 を設定します。
- 「メッセージキャッチイベント2」の「参照メッセージ」に message-sample2 を設定します。
4.3.18.4.6. IM-LogicDesignerタスクのプロパティを設定する¶
IM-LogicDesignerタスクのプロパティで「メインコンフィグ」タブを開きます。
「フローID」に logicdesigner_task_execution_usage を入力します。
「利用するバージョン」で 最新バージョンを利用 を選択します。
- 「入力データ」に以下の値を追加します。
名前 値 processDefinitionKey im_logicdesigner_task_execution_sample-message_catch_process messageName message-sample1,message-sample2
4.3.18.4.7. ロジックフロー定義を作成する¶
- 「開始タスク」、「変数操作タスク」、「繰り返し開始タスク」、「エグゼキューション検索タスク」、「繰り返し開始タスク」、「ログ出力タスク」、「繰り返し終了タスク」、「繰り返し終了タスク」、「終了タスク」を配置し、順に接続します。
-
図:ロジックフロー
- 入出力設定ダイアログを開き、入力に以下の値を追加します。
キー名 型 processDefinitionKey <string> messageName <string> 図:「入出力設定」
- 変数設定ダイアログを開き、以下の値を追加します。
キー名 型 messageNames <string[]> 図:「変数設定」
- 定数設定ダイアログを開き、以下の値を設定します。
定数ID 定数値 colon : comma , 図:「定数設定」
- 変数操作タスクのマッピング設定を開き以下をマッピングします。
入力(始点) 出力(終点) 入力<object> - messageName<string> split : value 定数<object> - comma<string> split : sep split : out messageNames<string[]> 図:「変数操作タスク」 - 「マッピング設定」
繰り返し開始タスク1の繰り返し対象プロパティに、 $variable/messageNames を設定します。
- エグゼキューション検索タスクのマッピング設定を開き以下をマッピングします。
入力(始点) 出力(終点) 入力<object> - processDefinitionKey<string> im_bpmQueryExecutions1<object> - processDefinitionKey<string> im_startLoop1<object> - item<string> im_bpmQueryExecutions1<object> - messageEventSubscriptionName<string> 図:「エグゼキューション検索タスク」 - 「マッピング設定」
繰り返し開始タスク2の繰り返し対象プロパティに、 im_bpmQueryExecutions1/queryExecutionsResults を設定します。
- ログ出力タスクのマッピング設定を開き以下をマッピングします。
入力(始点) 出力(終点) 定数<object> - colon<string> concat : b im_startLoop2<object> - item<object> - activityId<string> concat : a concat : out concat : a im_startLoop2<object> - item<object> - id<string> concat : b concat : out im_logger<string> 図:「ログ出力タスク」 - 「マッピング設定」
新規保存ボタンをクリックし、以下を設定しロジックフローを保存します。
フロー定義ID : logicdesigner_task_execution_usage
フロー定義名 : 【チュートリアル】logicdesigner_task_execution_usage
フローカテゴリ :
- ID : im_logicdesigner-data
- 名称 : BPMチュートリアル
コラム
- ロジックフロー定義の作成方法については「IM-LogicDesigner ユーザ操作ガイド」を参照してください。
4.3.18.4.8. 実行と実行結果を確認する¶
「プロセス開始一覧」画面にて、プロセス定義名 メッセージキャッチのプロセス を開始します。
「プロセス開始一覧」画面にて、プロセス定義名 エグゼキューションを取得するプロセス を開始します。
- ログに以下のようにエグゼキューションIDが2つ出力されていることを確認します。
-
図:ログ出力イメージ
コラム
- プロセスのデプロイ方法については「IM-BPM プロセスデザイナ 操作ガイド」-「プロセス定義/ケース定義のデプロイ」を参照してください。
- デプロイしたプロセスの実行方法については「IM-BPM ユーザ操作ガイド」-「プロセスインスタンスの開始」を参照してください。