MQDのメッセージヘッダ通知機能は、送信アプリケーションが設定したMQDのメッセージヘッダ情報を受信アプリケーションに通知することで運用性を向上させる機能です。送信アプリケーションが指定したMQDのメッセージヘッダ情報を受信アプリケーションで利用することができます。
本機能は、送信側と受信側の非同期メッセージ基盤が両方ともWindowsサーバのMQDまたはUNIXサーバのMQDの場合に使用することができます。
MQDのメッセージヘッダ通知機能は、送信側のサーバのイベントチャネル連携サービスのサービス定義で通知の有無を指定することで利用できます。定義方法については、図11.24 送信異常メッセージを退避する設定にしている場合を参照してください。
MQDのメッセージヘッダ通知機能で通知されるMQDのメッセージヘッダの内容
本機能を用いてメッセージを送信した時に受信アプリケーション(COBOL言語で作成)に通知されるMQDのメッセージヘッダの内容について表11.9 受信アプリケーションに通知されるMQDのメッセージヘッダの内容に示します。なお、C言語の場合も同様の情報が通知されます。
項目名 | 和名 | データ型 | 設定値 |
---|---|---|---|
MSG-TYPE | メッセージタイプ | PIC X(1) | X’02’: 一般のメッセージ |
CODE-TYPE | コード系情報 | PIC X(1) | X’01’: EUCコード |
BODY-CODE | メッセージ本体のコード系情報 | PIC X(1) | X’01’: EUCコード |
UNIT-ID | ユニット識別子 | PIC X(128) | メッセージ番号.タイムスタンプ.スレッドID.プロセスID.キュー名.MQDシステム名 |
MSG-SERIALNO | メッセージ通番 | PIC 9(9) | ユニット内のメッセージ通番 |
EOU-FLAG | ユニット終了フラグ | PIC X(1) | X’00’: ユニットの終端 |
ORIGINAL-SYSNAME | 送信MQDシステム名 | PIC X(9) | 送信側のMQDサーバ識別子 |
VERSION | バージョン | PIC X(8) | “1.1” |
ORIGINAL-QNAME | 送信キュー名 | PIC X(64) | 送信用メッセージキュー名 |
GUARANTEE | メッセージ保証レベル | PIC X(1) | X’02’: ディスク型 |
ORIGINAL-TIMESTAMP | 送信タイムスタンプ | PIC 9(9) | 送信アプリケーションがメッセージを送信した日時(1970/1/1 00:00:00 UTCからの秒数) |
TRANS-TIMESTAMP | 転送タイムスタンプ | PIC 9(9) | 送信側のサーバのイベントチャネル連携サービスがメッセージを送信した日時(1970/1/1 00:00:00 UTCからの秒数) |
ARRIVE-TIMESTAMP | 到着タイムスタンプ | PIC 9(9) | 受信側のサーバのイベントチャネル連携サービスがメッセージを受信した日時(1970/1/1 00:00:00 UTCからの秒数) |
DELAY-TIME | 転送遅延時間 | PIC 9(9) | 到着タイムスタンプと転送タイムスタンプの差の時間(秒数)の累積 |
QUEUING-TIME | キューイング時間 | PIC 9(9) | イベントチャネル連携サービスがメッセージを受信してから受信アプリケーションがメッセージを受信するまでの差の時間(秒数) |
MSG-NAME | メッセージ名 | PIC X(64) | 送信アプリケーションの指定値 |
MSG-ID | メッセージ識別子 | PIC 9(9) | 送信アプリケーションの指定値 |
PRIORITY | プライオリティ | PIC 9(9) | 送信アプリケーションの指定値 |
MSGBODY-LENGTH | メッセージ本体長 | PIC 9(9) | 送信アプリケーションの指定値 |
RETURN-QNAME | 返信キュー名 | PIC X(64) | 送信アプリケーションの指定値 |
TIMELIMIT | 最大保存時間 | PIC 9(9) | 0 |
ACCESS-RIGHT | アクセス権 | PIC 9(9) | 0 |
MQD以外と通信する場合のMQDのメッセージヘッダの内容
メッセージの送信側のサーバの非同期メッセージ基盤が、ノーティフィケーションサービス、JMSおよびグローバルサーバの場合は、受信アプリケーションにMQDのメッセージヘッダ情報は通知されません。
また、送信側のサーバの非同期メッセージ基盤がMQDであっても、受信側のサーバの非同期メッセージ基盤がMQD以外の場合は、MQDのメッセージヘッダ情報は通知されません。
本連携時のメッセージヘッダに対する処理内容について以下に説明します。
メッセージ送信
MQDから別の非同期メッセージ基盤にメッセージを送信するときは、送信メッセージキューより取り出したメッセージのメッセージヘッダ部分を取り除きメッセージ本体だけを相手サーバに送信します。
メッセージ受信
MQD以外の非同期メッセージ基盤よりメッセージを受信した場合は、メッセージヘッダを自動生成し、メッセージの先頭に付加して受信メッセージキューに格納します。
ノーティフィケーションサービス、JMSおよびグローバルサーバと通信する場合のメッセージヘッダの取り扱いを図11.25 メッセージヘッダの取り扱いに示します。
図11.25 メッセージヘッダの取り扱い
MQD以外の非同期メッセージ基盤から送信されたメッセージに対してイベントチャネル連携サービスが自動的に作成するMQDのメッセージヘッダの内容(COBOL言語の場合)について表11.10 イベントチャネル連携サービスが自動的に作成するMQDのメッセージヘッダの内容に示します。なお、C言語の場合も同様の情報が通知されます。
項目名 | 和名 | データ型 | 設定値 |
---|---|---|---|
MSG-TYPE | メッセージタイプ | PIC X(1) | X’02’: 一般のメッセージ |
CODE-TYPE | コード系情報 | PIC X(1) | X’01’: EUCコード |
BODY-CODE | メッセージ本体のコード系情報 | PIC X(1) | X’01’: EUCコード |
UNIT-ID | ユニット識別子 | PIC X(128) | システムが自動的に設定する数値.タイムスタンプ.スレッドID.プロセスID.キュー名.MQDシステム名 |
MSG-SERIALNO | メッセージ通番 | PIC 9(9) | 1 |
EOU-FLAG | ユニット終了フラグ | PIC X(1) | X’00’: ユニットの終端 |
ORIGINAL-SYSNAME | 送信MQDシステム名 | PIC X(9) | 送信側のMQDサーバ識別子 |
VERSION | バージョン | PIC X(8) | “1.1” |
ORIGINAL-QNAME | 送信キュー名 | PIC X(64) | 送信チャネル識別子 |
GUARANTEE | メッセージ保証レベル | PIC X(1) | X’02’: ディスク型 |
ORIGINAL-TIMESTAMP | 送信タイムスタンプ | PIC 9(9) | 0 |
TRANS-TIMESTAMP | 転送タイムスタンプ | PIC 9(9) | 0 |
ARRIVE-TIMESTAMP | 到着タイムスタンプ | PIC 9(9) | 受信側のサーバのイベントチャネル連携サービスがメッセージを受信した日時(1970/1/1 00:00:00 UTCからの秒数) |
DELAY-TIME | 転送遅延時間 | PIC 9(9) | 0 |
QUEUING-TIME | キューイング時間 | PIC 9(9) | イベントチャネル連携サービスがメッセージを受信してから受信アプリケーションがメッセージを受信するまでの差の時間(秒数) |
MSG-NAME | メッセージ名 | PIC X(64) | “NSGW” |
MSG-ID | メッセージ識別子 | PIC 9(9) | 0 |
PRIORITY | プライオリティ | PIC 9(9) | 送信アプリケーションがプライオリティを指定した場合は、表11.5 非同期メッセージ基盤のプライオリティの対応関係にしたがってプライオリティが設定されます。送信アプリケーションがプライオリティを指定しない場合またはメッセージの送信元がグローバルサーバの場合は受信キューのプライオリティのデフォルト値が設定されます。 |
MSGBODY-LENGTH | メッセージ本体長 | PIC 9(9) | 相手サーバから受信したメッセージ長 |
RETURN-QNAME | 返信キュー名 | PIC X(64) | 空白 |
TIMELIMIT | 最大保存時間 | PIC 9(9) | 0 |
ACCESS-RIGHT | アクセス権 | PIC 9(9) | 0 |