2.1.5 トリガ機能
メッセージがキューに到着した時,そのメッセージを処理するアプリケーションを起動するために,トリガイベントを使用できます。mqaqueatl定義コマンドでトリガイベントを設定したキューにメッセージが到着すると,トリガメッセージがイニシエーションキューに登録されます。ユーザはイニシエーションキューを監視することで,メッセージが到着したかどうかがわかります。トリガイベントの種類(トリガタイプ)などは,ローカルキューの属性として指定します。
メッセージがキューに登録されてからのトリガの処理の流れについて,次の図に示します。
図中に示したトリガ処理の流れを次に示します。図中の番号と,流れの番号は対応しています。
-
メッセージ送信元のあて先キューとなるキューにメッセージが登録されます。
-
あて先キューの状態が設定した条件を満たすと,トリガイベントが発生します。
-
トリガイベントが発生したことを意味するトリガメッセージをイニシエーションキューに登録します。
-
トリガモニタアプリケーションは,常にイニシエーションキューを監視しています。
-
トリガモニタアプリケーションは,トリガメッセージを取り出して,メッセージを受け取るアプリケーションを起動します。
-
流れ5.で起動されたアプリケーションは,MQGET命令を呼び出してメッセージを受け取ります。
トリガモニタアプリケーションは,イニシエーションキューを監視するユーザ作成のアプリケーションです。イニシエーションキューの状態を常に監視するように作成してください。