Hitachi

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


3.4.2 メッセージデータの形式

次に示すデータを指定できます。

各フィールドについて説明します。

Format

このフィールドは,メッセージの受信側にメッセージ内のアプリケーションデータの形式を示します。

キューマネジャがメッセージを作成するときに,Formatフィールドを使用してメッセージの形式を識別することがあります。例えば,キューマネジャがメッセージを転送できないときに,メッセージをデッドレターキューに登録しますが,そのことを示すためにキューマネジャはメッセージにヘッダ(制御情報を含む)を追加して,Formatフィールドを変更します。

キューマネジャはMQFMT_STRINGのように"MQ"で始まる組み込みフォーマット名を持っています。それで不十分な場合は,ユーザは独自のフォーマットを設定できます。ただし,"MQ"で始まる名称は使用しないでください。

ユーザ独自の文字セットを作成して使用するときには,MQGMO_CONVERTオプションでメッセージを取り出すアプリケーションのために,データ変換をするUOCを記述してください。

CodedCharSetId

このフィールドは,メッセージ内にある文字データの文字セットを定義します。キューマネジャの文字セットを設定したい場合には,このフィールドはMQCCSI_Q_MGRにしてください。

メッセージをキューから取り出すときには,CodedCharSetIdフィールドの値を,アプリケーションで処理できる値と比較してください。二つの値が異なる場合には,メッセージ内の文字データを変換したり,データ変換をするUOCを使用したりしてください。

Encoding

このフィールドは,2進整数,10進パック形式整数,および浮動小数点の数値メッセージデータのマシンコード形式を定義します。これらのデータは通常,キューマネジャが動作する特定のコンピュータの形式にエンコードされます。

メッセージをキューに登録するとき,通常はMQENC_NATIVEをEncodingフィールドに指定します。これはアプリケーションが動作しているコンピュータの形式にメッセージデータをエンコードするということです。

メッセージをキューから取り出すときには,メッセージ記述子にあるEncodingフィールドの値を自コンピュータのMQENC_NATIVEの値と比較してください。二つの値が異なる場合には,メッセージ内の数値データを変換したり,データ変換をするUOCを使用したりしてください。