Hitachi

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


9.2.4 ユーザメッセージ内のデータ

ユーザデータのあるバッファのアドレスは,MQPUT命令のBufferパラメタに指定してください。メッセージ内には任意のデータを入れることができます。ただし,データ長は,メッセージを処理するアプリケーションの効率に影響します。

データの最大長は次に示す項目によって制限されます。

キューマネジャのMaxMsgLength属性は,キューマネジャが処理できるメッセージ長です。TP1/Message Queueのデフォルトは4096000バイトです。この属性を照会するにはキューマネジャオブジェクトにMQINQ命令を使用してください。長大なメッセージに対してはこの値を変更できます。

キューのMaxMsgLength属性は,キューに登録できるメッセージの最大長です。この属性の値よりも大きなメッセージを登録すると,MQPUT命令は失敗します。リモートキューにメッセージを登録する場合には,リモートキュー,あて先までにある中間の転送キュー,および使用するチャネルのMaxMsgLength属性によって成功と失敗が決まります。

MQPUT命令では,メッセージ長はキューおよびキューマネジャのMaxMsgLength属性値以下にしてください。両方の値は別物ですが,キューのMaxMsgLength属性値をキューマネジャ以下にすることをお勧めします。

TP1/Message Queueでは次に示す環境でヘッダ情報を追加します。

メッセージ長がキューの最大長と同じ場合には,ヘッダが追加されるとメッセージが長大になって,登録操作は失敗します。登録操作失敗の可能性を減らすには,次に示す方法があります。

オブジェクトの属性と定数値については,マニュアル「TP1/Message Queue プログラム作成リファレンス」を参照してください。