2.4.2 メッセージキューイング機能を使った通信の概要
メッセージキューイング機能を使った通信の概要について説明します。
(1) メッセージの登録
通信相手にメッセージを渡したい場合は,UAPはキューマネジャへメッセージを登録します。メッセージを登録するときには,MQPUTを使います。MQPUTが正常に終了すると,メッセージは登録され,UAPはほかの処理を実行できます。
通信相手のUAPからの応答を待つ(会話型の通信)場合は,MQPUTに応答を待つように設定します。
(2) メッセージの受け取り
メッセージを受け取るときは,MQGETを使います。メッセージを受け取るタイミングは,メッセージを受け取るUAPが稼働しているかどうかで,次に示す2とおりに分かれます。
-
UAPのプロセスが稼働している場合
UAPがMQGETを実行した時点で,そのUAPあてのメッセージをキューマネジャから受け取れます。
-
UAPのプロセスが稼働していない場合
キューマネジャがメッセージ受け取りを知らせる通知をします。この機能をトリガといい,通知される情報をトリガイベントといいます。トリガイベントは,専用のUAPで受信するようにします。トリガイベントを受けるUAPを,トリガモニタアプリケーションといいます。トリガモニタアプリケーションは,該当するUAPを起動します。
(3) メッセージキューイング機能のトランザクション処理
OpenTP1では,メッセージキューイング機能の処理をトランザクションとして扱えます。UAPでデータを更新してメッセージをキューマネジャへ登録したあとにトランザクションをコミットすると,登録が有効になります。トランザクションがロールバックされると,登録処理を無効にできます。トランザクションについては,「3.1 トランザクション制御」を参照してください。