ページの先頭行へ戻る
Interstage Application Server MessageQueueDirector説明書

8.3.32 MQD_MessageHeader構造体

  MQD_MessageHeader構造体は、メッセージの送信、受信および参照時に使用します。以下にMQD_MessageHeaderの形式を示します。また、内容および入出力関係を表8.20 MQD_MessageHeaderの内容および表8.21 MQD_MessageHeaderの入出力に示します。

MQD_MessageHeaderの形式

    
    typedef struct mqd_messageheader_t{
      MQDBYTE  msg_type;
      MQDBYTE  code_type;
      MQDBYTE  body_code;
      MQDBYTE  reserve1_1[1];
      MQDCHAR  unit_id[128];
      MQDLONG  msg_serialno;
      MQDBYTE  EOU_flag;
      MQDBYTE  reserve1_2[3];
      MQDLONG  reserve1_3[8];
      MQDCHAR  original_sysname[9];
      MQDBYTE  reserve2_1[3];
      MQDCHAR  version[8];
      MQDLONG  reserve2_2[8];
      MQDCHAR  original_qname[64];
      MQDBYTE  guarantee;
      MQDBYTE  reserve3_1[3];
      MQDLONG  reserve3_2[8];
      MQDLONG  original_timestamp;
      MQDLONG  trans_timestamp;
      MQDLONG  arrive_timestamp;
      MQDLONG  delay_time;
      MQDLONG  queuing_time;
      MQDLONG  reserve4_1[8];
      MQDCHAR  msg_name[64];
      MQDLONG  msg_id;
      MQDLONG  priority;
      MQDLONG  msgbody_length;
      MQDCHAR  return_qname[64];
      MQDLONG  timelimit;
      MQDLONG  access_right;
      MQDLONG  reserve5_1[8];
      MQDLONG  reserve6_1[8];
      MQDLONG  reserve6_2[8];
      MQDLONG  reserve6_3[8];
      MQDCHAR  reserve7_1[128];
    } MQD_MessageHeader;
表8.20 MQD_MessageHeaderの内容

メンバ名

和名

データ型

意味説明

msg_type

メッセージタイプ

char

メッセージの種類です。以下があります。
MQD_MH_USRMSG: 一般のメッセージ
MQD_MH_JNLCKPT: ジャーナルチェックポイント(TJNL用)
MQD_MH_JNLDATA: ジャーナルログデータ(TJNL用)

code_type

コード系情報

char

メッセージヘッダ部分のコード系です。以下があります。
MQD_MH_EUC : EUCコード
MQD_MH_SJIS: SJISコード
MQD_MH_JEF : JEFコード

body_code

メッセージ本体のコード系情報

char

メッセージ本体部分のコード系です。以下があります。
0 : 不明
MQD_BODY_EUC : EUCコード
MQD_BODY_SJIS : SJISコード
MQD_BODY_JEFKANA : JEFKANAコード
MQD_BODY_JEFASCII : JEFASCIIコード

unit_id

ユニット識別子

char

ユニットの識別子です。

msg_
serialno

ユニット内メッセージ通番

long

複数のメッセージをユニットとして送信する場合のユニット内のメッセージ通番です。1から始まる連続番号です。1ユニット1メッセージの場合には1が設定されます。

EOU_flag

ユニット終了フラグ

char

ユニットの終了を示すフラグです。
MQD_MH_EOU: ユニットの終端
MQD_MH_NOTEOU: ユニットの途中

original_
sysname

送信MQDシステム名

char

メッセージを送信したMQDの名前です。

version

バージョン

char

メッセージヘッダのバージョンです。
バージョンは8バイトの文字列です。

original_
qname

送信キュー名

char

メッセージを送信したメッセージキューの名前です。

guarantee

メッセージ保証
レベル

char

メッセージキュー属性にあるメッセージ保証レベルです。
以下のいずれかが設定されます。
MQD_MH_VOLATILE: メモリ型
MQD_MH_NOVOLATILE: ディスク型

original_
timestamp

送信タイムスタンプ

long

メッセージが送信された日時です。1970/1/1 00:00:00 UTCからの秒数です。

trans_
timestamp

転送タイムスタンプ

long

連携サービスが他システムにメッセージを送信した日時です。1970/1/1 00:00:00 UTCからの秒数です。

arrive_
timestamp

到着タイムスタンプ

long

メッセージが受信された日時です。1970/1/1 00:00:00 UTCからの秒数です。

delay_time

転送遅延時間

long

連携サービスが他システムからメッセージを受信した日時と転送タイムスタンプとの差の時間(秒数)の累積です。

queuing_
time

キューイング時間

long

アプリケーションがメッセージを受信した日時と到着タイムスタンプとの差の時間(秒数)です。

msg_name

メッセージ名

char

メッセージの名前です。メッセージ名は、63文字以内の英数字とアンダースコアで指定します。英字の大文字と小文字は区別されます。msg_nameを使わない場合はNULL文字を指定します。

msg_id

メッセージ識別子

long

メッセージ識別子です。任意の整数で指定します。msg_idを使わない場合は0を指定します。

priority

プライオリティ

long

本メッセージの優先度です。0を指定した場合は、メッセージキュー属性にあるプライオリティの省略値が適用されます。
なお、1ユニット複数メッセージの場合は、ユニット内の先頭メッセージのプライオリティだけが有効です。


1~3の数値で指定します。


1~7の数値で指定します。

msgbody_
length

メッセージ本体長

long

メッセージ本体の長さです。0~ 2088960(約2M)バイトの範囲で指定します。

return_
qname

返信キュー名

char

返信用のメッセージキュー名です。メッセージ送信時に送信側システムのメッセージキュー名を指定します。return_qnameを使わない場合はNULL文字を指定します。メッセージ受信時には、返信キュー名に対応する受信側システムのメッセージキュー名が設定されます。なお、1ユニット複数メッセージの場合は、ユニット内の先頭メッセージの返信キュー名だけが有効です。

timelimit

最大保存時間

long

メッセージをメッセージキューに保存しておくことのできる最大時間です。0を指定した場合は、メッセージキュー属性にある値が適用されます。
本バージョンでは常に0を指定してください。

access_
right

アクセス権

long

メッセージに対するアクセスの権利です。
本バージョンでは常に0を指定してください。

表8.21 MQD_MessageHeaderの入出力

メンバ名

インタフェース(関数)名

mqd_putmsg

mqd_getmsg

mqd_peekmsg

msg_type

出力

出力

code_type

出力

出力

body_code

出力

出力

unit_id

出力

出力

msg_serialno

出力

出力

EOU_flag

出力

出力

original_sysname

出力

出力

version

出力

出力

original_qname

出力

出力

guarantee

出力

出力

original_timestamp

出力

出力

trans_timestamp

出力

出力

arrive_timestamp

出力

出力

delay_time

出力

出力

queuing_time

出力

出力

msg_name

入力

出力

出力

msg_id

入力

出力

出力

priority

入力

出力

出力

msgbody_length

入力

出力

出力

return_qname

入力

出力

出力

timelimit

入力

出力

出力

access_right

入力

出力

出力

  入力:入力情報、出力:出力情報、―:無効