Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue プログラム作成の手引


9.6 配布リスト

配布リストを使用すると,1回のMQPUT命令またはMQPUT1命令で複数のあて先にメッセージを登録できます。1回のMQOPEN命令で複数のキューをオープンでき,その後,1回のMQPUT命令で各キューにメッセージを登録できます。その処理で使用される構造体の一般情報は,配布リストにある各あて先に関連する固有情報に置き換えられます。

MQOPEN命令を発行するとき,一般情報がオブジェクト記述子(MQOD構造体)から取得されます。VersionフィールドにMQOD_VERSION_2を指定し,RecsPresentフィールドに0より大きい値を指定する場合は,Hobjパラメタはキューハンドルではなく,一つ以上のキューについての配布リストのハンドルとして定義されます。このとき,固有情報がオブジェクトレコード(MQOR構造体)から取得されます。MQOR構造体にはあて先の詳細(ObjectNameとObjectQMgrNameフィールド)があります。

オブジェクトハンドル(Hobj)はMQPUT命令に渡されます。これによってユーザは一つのキューにではなく,配布リストにメッセージを登録できます。

メッセージをキューに登録(MQPUT命令)するとき,一般情報がメッセージ登録オプション(MQPMO構造体)およびメッセージ記述子(MQMD構造体)から取得されます。固有情報は登録メッセージレコード(MQPMR構造体)から取得されます。

応答レコード(MQRR構造体)では各あて先キューに固有な完了コードと理由コードを受け取れます。

配布リストの動作について,次の図に示します。チャネルを経由して1メッセージが転送され,複数のリモートキューに登録されています。

図9‒1 配布リストの動作

[図データ]

〈この節の構成〉