Hitachi

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


10.5.3 参照メッセージ

参照メッセージを使用すると,送信元および送信先のノードにあるキューにオブジェクトを格納しなくても,ノード間で長大オブジェクトを転送できます。メールアプリケーションなど他形式の既存データがある場合には特に有効です。

この場合,TP1/Message Queueでは,送信側および受信側でメッセージ編集出口UOCが必要です。メッセージ編集出口UOCについては,マニュアル「TP1/Message Queue 使用の手引」を参照してください。

〈この項の構成〉

(1) MQRMH構造体とMQMD構造体の使用

MQMD構造体のFormatフィールドにMQFMT_REF_MSG_HEADERを設定してください。MQHREFフォーマットは,MQGET命令で要求されるときにTP1/Message Queueによって自動的に後続のデータとともに変換されます。

ここでは,MQRMH構造体のDataLogicalOffsetおよびDataLogicalLengthフィールドの使用例について説明します。

登録アプリケーションは,参照メッセージを次に示す状態で登録します。

オブジェクトが70000バイトの長さであり,メッセージ編集出口UOCが最初の40000バイトをチャネルを経由して送信するとき,参照メッセージには次に示すデータが含まれます。

その後,登録アプリケーションが追加メッセージを転送キューに登録するとき,次に示すデータが含まれます。

メッセージ編集出口UOCが残りの30000バイトを追加して送信するとき,参照メッセージには次に示すデータが含まれます。

MQRMHF_LASTも設定されます。