MessageQueueDirector説明書 |
目次
索引
![]() ![]() |
第1部 基本機能編 | > 第2章 機能 | > 2.2 メッセージ交換 |
複数メッセージキューからのメッセージ受信は、指定した複数のメッセージキューのいずれかのメッセージキューよりメッセージを取り出す機能です。複数メッセージキューからのメッセージ受信は、プログラムインタフェースの“MQDGETMSGEX”または“mqd_getmsgex”により行うことができます。メッセージの受信が正常終了するとメッセージはメッセージキューから削除されます。
複数メッセージキューからのメッセージ受信の方法には以下があります。
同期モードのメッセージ受信は、指定したメッセージキューのいずれかにメッセージがある場合には、当該のメッセージキューより直ちにメッセージを取り出します。指定したすべてのメッセージキューにメッセージがない場合には、いずれかのメッセージキューにメッセージが到着するまで待ち合わせます。
非同期モードのメッセージ受信は、指定したメッセージキューのいずれかにメッセージがある場合には、当該のメッセージキューより直ちにメッセージを取り出します。指定したすべてのメッセージキューにメッセージがない場合には、メッセージ到着を待ち合わせずにアプリケーションに復帰します。
複数メッセージキューからのメッセージ受信を中止する条件として以下があります。
1ユニット複数メッセージを受信する場合には、メッセージヘッダのユニット終了フラグが“ON”になるまでメッセージを受信した場合に限り受信が完了したとみなされます。途中で処理を打ち切った場合には、それまでの処理は取り消されます。したがって、再度メッセージを受信すると、再び同じユニット内の先頭メッセージから取り出されます。
なお、複数メッセージキューからのメッセージ受信を行う場合は、以下のことに留意する必要があります。
目次
索引
![]() ![]() |