メッセージ・ヘッダーのフィールドおよびプロパティーと IBM MQ フォーマット間のマッピング

サービス統合は、メッセージを IBM MQ フォーマットに変換する際、 サービス統合メッセージ・ヘッダーのフィールドおよびプロパティーに基づいて、MQMD および MQRFH2 のフィールドを設定します (メッセージに適用される JMS メッセージ・ヘッダーのフィールドおよびプロパティーなど)。 サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 IBM MQ メッセージの MQMD および MQRFH2 から、サービス統合メッセージ・ヘッダーのフィールドおよびプロパティーを設定します。

サービス統合経由の JMS プログラムと IBM MQ

サービス統合は、文字と数字のエンコードを含め適切な変換を自動的に実行するので、通常はサービス統合と IBM MQ との間で JMS メッセージを交換するためのメッセージ形式の変換を意識する必要はありません。 ただし、ご使用の JMS アプリケーションが予想外の動きをする場合や、サービス統合構成が非 JMS IBM MQ プログラムとの間でメッセージを処理する JMS プログラムまたはメディエーションを含む場合は、メッセージ変換に関する知識が必要になる場合があります。

ご使用のサービス統合アプリケーションが 、IBM MQ アプリケーションと MapMessage オブジェクトを交換する場合、デフォルトではないマップ・メッセージ・エンコード形式を指定する必要がある場合があります。

IBM MQ メッセージ・プロパティー: MQMD および MQRFH2

WebSphere MQ メッセージには、メッセージ記述子 (MQMD) 内およびルールとフォーマットのヘッダー 2 (MQRFH2) 内に、メッセージ・プロパティーが含まれています。 IBM MQ メッセージには、常に MQMD は含まれますが、一部の WebSphere MQ アプリケーションは MQRFH2 を含んだメッセージを処理することができないため、MQRFH2 はオプションです。 相互協調処理を単純化するために、サービス統合を構成して、MQRFH2 を処理できないアプリケーションのメッセージから MQRFH2 を省略することができます。サービス統合が MQRFH2 を省略すると、それに対応するサービス統合のヘッダー・フィールドおよびプロパティーは廃棄されます。
注: MQMD フィールドには、少量の MQRFH2 情報も格納されます。 ただし、これらの MQMD フィールドは、まったく同じものというわけではなく、 具体性が欠ける傾向にあり、MQRFH2 情報の十分な代替にはなり得ません。 そのため、受信側アプリケーションが MQRFH2 ヘッダーを受け入れることができる場合、常に MQRFH2 ヘッダーを提供する必要があります。

同様に、サービス統合は、MQRFH2 のないメッセージを生成する IBM MQ アプリケーションからメッセージを受け取ることもできます。 サービス統合は、MQRFH2 のないメッセージを受け取ると、 MQMD からできる限り多くの情報を取得して、その他のフィールドでデフォルト値を使用することによって、 「最も適当と思われる」サービス統合ヘッダーを作成します。

メッセージ記述子およびメッセージ・ヘッダーの内容の詳細については、 IBM MQ アプリケーション・プログラミング・リファレンスを参照してください。IBM MQ が MQMD および MQRFH2 に JMS メッセージのプロパティーおよびヘッダー・フィールドを格納する方法の詳細など、IBM MQ JMS サポートの詳細については、IBM MQ を参照してください。

IBM MQ メッセージ・プロパティー: JMS ヘッダー・フィールド

下表では、メッセージと IBM MQ フォーマット間の変換を行う際の、 サービス統合による JMS ヘッダー・フィールドと MQMD および MQRFH2 フィールド間のマッピングを示します。

MQRFH2 フィールドを folder.field として、表で示しています。この場合、folder はフィールドが含まれている MQRFH2 フォルダーの名前であり、field は MQRFH2 フォルダー内のフィールドの名前です。

いくつかの JMS ヘッダー・フィールドでは、MQMD フィールドと MQRFH2 フィールドの両方があります。 サービス統合は、メッセージを IBM MQ フォーマットに変換する際に、MQMD フィールドと MQRFH2 フィールドの両方を設定します。 サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 MQRFH2 フィールドからの JMS ヘッダー・フィールドが使用可能であればそれを設定し、それ以外の場合は MQMD フィールドからの JMS ヘッダー・フィールドを設定します。

表 1. JMS、MQMD および MQRFH2 ヘッダー・フィールド. 以下の表の第 1 列は JMS ヘッダー・フィールド、第 2 列は第 1 列の JMS ヘッダー・フィールドに関連する MQMD フィールドを示しています。第 3 列は、第 1 列の JMS ヘッダー・フィールドに関連する MQRFH2 フィールドを示しています。 第 4 列は、必要に応じて、表の下に記載した脚注へのリンクを示しています。
JMS ヘッダー・フィールド MQMD フィールド MQRFH2 フィールド 注意
JMSCorrelationID CorrelId jms.Cid 1 を参照。
JMSDeliveryMode パーシスタンス jms.Dlv 15 を参照。
JMSDestination   jms.Dst 16 を参照。
JMSExpiration 有効期限 jms.Exp  
JMSMessageID MsgId    
JMSPriority 優先順位   2 を参照。
JMSRedelivered BackoutCount   3 を参照。
JMSReplyTo ReplyToQ および ReplyToQMgr jms.Rto 16 を参照。
JMSTimestamp PutDate および PutTime jms.Tms  
JMSType   mcd.Type  
注 1: MQMD CorrelId フィールドには、 標準の 48 桁の 16 進数字の IBM MQ 相関 ID (24 バイト) を保持することができます。 JMSCorrelationID には、byte[] 値 (16 進文字を含み、接頭部が「ID:」であるストリング値) または「ID:」から開始しない任意のストリング値を指定することができます。 これらの最初の 2 つは、標準の IBM MQ 相関 ID を示し、 MQMD CorrelId フィールドに対して直接マップされます (切り捨てるか、適用できる場合はゼロを埋め込む)。 MQRFH2 jms.Cid フィールドは使用されません。 3 番目 (任意のストリング) は、MQRFH2 jms.Cid フィールドを使用します。UTF-8 フォーマットの最初の 24 バイトのストリングは、MQMD CorrelID に書き込まれます。
注 2: IBM MQ は、JMSPriority 値を MQRFH2 jms.Pri フィールドに格納しますが、 そのフィールドに既に存在する値はどれも使用しません。 サービス統合は、MQRFH2 jms.Pri フィールドを検査も設定もしません。
注 3: サービス統合は、MQMD の BackoutCount フィールドに基づいて、 IBM MQ から受け取ったメッセージの JMSRedelivered 標識を設定します。 ゼロ以外の BackoutCount 値は、メッセージの以前の受信がロールバックされたことを示します。

IBM MQ メッセージ・プロパティー: JMS 定義のプロパティー

下表では、メッセージと IBM MQ フォーマット間の変換を行う際の、 サービス統合による JMS 定義のプロパティーと MQMD および MQRFH2 フィールド間のマッピングを示します。

MQRFH2 フィールドを folder.field として、表で示しています。この場合、folder はフィールドが含まれている MQRFH2 フォルダーの名前であり、field は MQRFH2 フォルダー内のフィールドの名前です。

いくつかの JMS 定義のプロパティーでは、MQMD フィールドと MQRFH2 フィールドの両方があります。 サービス統合は、メッセージを IBM MQ フォーマットに変換する際に、MQMD フィールドと MQRFH2 フィールドの両方を設定します。 サービス統合は、メッセージを IBM MQ フォーマットから変換する際、MQRFH2 フィールドからの JMS 定義のプロパティーが使用可能であればそれを設定し、それ以外の場合は MQMD フィールドからの JMS 定義のプロパティーを設定します。

表 2. JMS プロパティーと MQMD および MQRFH2 フィールド. 以下の表の第 1 列は JMS 定義のプロパティー、第 2 列は第 1 列の JMS 定義のプロパティーに関連する MQMD フィールドを示しています。第 3 列は、第 1 列の JMS 定義のプロパティーに関連する MQRFH2 フィールドを示しています。 第 4 列は、必要に応じて、表の下に記載した脚注へのリンクを示しています。
JMS 定義のプロパティー MQMD フィールド MQRFH2 フィールド 注意
JMSXAppID PutApplName    
JMSXDeliveryCount BackoutCount    
JMSXGroupID GroupId jms.Gid 4 および 5 を参照。
JMSXGroupSeq MsgSeqNumber jms.Seq  
JMSXUserID UserIdentifier    
注 4: MQMD GroupId フィールドには、 標準の 48 桁の 16 進数字の IBM MQ GroupId (24 バイト) を保持することができます。 JMSXGroupID には、16 進文字を含み、接頭部が「ID:」であるストリング値または「ID:」から開始しない任意のストリング値を指定することができます。 これらの最初のものは、標準の IBM MQ GroupId を示し、MQMD GroupId フィールドに対して直接マップされます (切り捨てるか、適用できる場合はゼロを埋め込みます)。 2 番目のもの (任意のストリング) は、MQRFH2 jms.Gid フィールドを使用します。UTF-8 フォーマットの最初の 24 バイトのストリングは、MQMD GroupId に書き込まれます。
注 5: サービス統合は、メッセージを IBM MQ フォーマットに変換する際、 JMSXGroupID が設定されている場合には、MQMD の MsgFlags フィールドに MQMF_MSG_IN_GROUP フラグも設定します。 グループ・メッセージを送信する際は、送信側の JMS アプリケーションは、 必要に応じて MQMF_LAST_MSG_IN_GROUP フラグが設定された状態にする必要があります (IBM MQ メッセージ・プロパティー: JMS プロバイダー固有プロパティーを参照)。

IBM MQ メッセージ・プロパティー: JMS プロバイダー固有プロパティー

下表では、メッセージと WebSphere MQ フォーマット間の変換を行う際の、 サービス統合による JMS プロバイダー固有プロパティーと MQMD および MQRFH2 フィールド間のマッピングを示します。 通常、これらのプロパティーを使用して、受信側アプリケーションで特殊要件を満たすため、受信側アプリケーションの開発者または管理者に、必要なプロパティー値の詳細について問い合わせる必要があります。

表 3. JSM プロバイダー固有のプロパティーと MQMD および MQRFH2 フィールド. 以下の表の第 1 列は JMS プロバイダー固有プロパティー、第 2 列は第 1 列の JMS プロバイダー固有プロパティーに関連する MQMD フィールドを示しています。第 3 列は、第 1 列の JMS プロバイダー固有プロパティーに関連する MQRFH2 フィールドを示しています。 第 4 列は、必要に応じて、表の下に記載した脚注へのリンクを示しています。
JMS プロバイダー固有プロパティー MQMD フィールド MQRFH2 フィールド 注意
JMS_IBM_ArmCorrelator   mqext.Arm 6 を参照。
JMS_IBM_Character_Set CodedCharacterSetId CodedCharacterSetId 7 を参照。
JMS_IBM_Encoding エンコード エンコード 7 を参照。
JMS_IBM_Feedback フィードバック    
JMS_IBM_Format フォーマット フォーマット 7 を参照。
JMS_IBM_Last_Msg_In_Group MQMF_LAST_MSG_IN_GROUP   8 を参照。
JMS_IBM_MQMD_CorrelId CorrelId   9 および 10 を参照。
JMS_IBM_MQMD_MsgId MsgId   9 および 11 を参照。
JMS_IBM_MQMD_Persistence パーシスタンス   912、および 15 を参照。
JMS_IBM_MQMD_ReplyToQ ReplyToQ   913、および 16 を参照。
JMS_IBM_MQMD_ReplyToQMgr ReplyToQMgr   913、および 16 を参照。
JMS_IBM_MsgType MsgType    
JMS_IBM_PutDate PutDate    
JMS_IBM_PutTime PutTime    
JMS_IBM_Report_* レポート   14 を参照。
JMS_IBM_RMCorrelator   mqext.Wrm  
JMS_TOG_ARM_Correlator   mqext.Arm 6 を参照。
注 6: ARM 相関関係子には、 名前 JMS_TOG_ARM_Correlator を使用する必要があります。 名前 JMS_IBM_ArmCorrelator は、一部の既存の JMS プログラムとの互換性のために使用可能です。
注 7: JMS_IBM_Character_SetJMS_IBM_Encoding、および JMS_IBM_Format プロパティーには、 IBM MQ メッセージ・ペイロードに関する情報、 つまり MQRFH2 が存在する場合には MQRFH2 の後に IBM MQ メッセージの一部、 MQRFH2 がない場合には IBM MQ メッセージ全体 (MQMD を除く) が含まれています。 これらのプロパティーおよびその使用方法の詳細については、メッセージ本体と IBM MQ フォーマット間のマッピングを参照してください。
注 8: MQMF_LAST_MSG_IN_GROUP は、MQMD の MsgFlags フィールドにあるフラグの 1 つです。
注 9: JMS_IBM_MQMD_CorrelIdJMS_IBM_MQMD_MsgIdJMS_IBM_MQMD_PersistenceJMS_IBM_MQMD_ReplyToQ、および JMS_IBM_MQMD_ReplyToQMgr プロパティーによって、 JMS アプリケーションは、IBM MQ MQMD フィールドのサービス統合のデフォルト処理をオーバーライドすることができます。 サービス統合は、メッセージを IBM MQ フォーマットに変換する際、 これらの各プロパティーに対応する MQMD フィールドを設定します (ただし、setObjectProperty() または setNonNullProperty() を使用してアプリケーションによって、 プロパティーが明示的に設定されている場合のみ)。

サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 対応する MQMD フィールドからこれらの各プロパティーを設定します。

注 10: JMS_IBM_MQMD_CorrelId プロパティーは、 JMSCorrelationID プロパティーのデフォルトの処理をオーバーライドします。 サービス統合は、メッセージを IBM MQ フォーマットに変換する際、 JMSCorrelationID プロパティーの値が存在してもその値にかかわらず、 MQMD CorrelId フィールドを、明示的に設定されていれば JMS_IBM_MQMD_CorrelId プロパティーの値 (byte[]) に設定します。 JMS_IBM_MQMD_CorrelId プロパティーを設定しても、MQRFH2 jms.Cid フィールドの値は影響されません。

サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 MQRFH2 jms.Cid フィールドの値が存在してもその値にかかわらず、 JMS_IBM_MQMD_CorrelId プロパティーを MQMD CorrelId フィールドの値 (byte[]) に設定します。

注 11: JMS_IBM_MQMD_MsgId プロパティーは、 JMSMessageID プロパティーの JMS のデフォルト処理をオーバーライドします。 サービス統合は、メッセージを IBM MQ フォーマットに変換する際、 JMS_IBM_MQMD_MsgId プロパティーが明示的に設定されているかどうかを検査します。 明示的に設定されている場合は、サービス統合は、MQMD MsgId フィールドをこの値 (byte[]) に設定し、 JMS がメッセージに割り振る、JMSMessageID の固有値を置き換えます。

サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 JMS_IBM_MQMD_MsgId プロパティーを MQMD MsgId フィールドの値 (byte[]) に設定します。

注 12: JMS_IBM_MQMD_Persistence プロパティーは、 JMSDeliveryMode プロパティーのデフォルトの処理をオーバーライドします。 サービス統合は、メッセージを IBM MQ フォーマットに変換する際、 JMSDeliveryMode プロパティーの値が存在してもその値にかかわらず、 MQMD Persistence フィールドを、明示的に設定されていれば JMS_IBM_MQMD_Persistence の値 (整数) に設定します。 JMS_IBM_MQMD_Persistence プロパティーを設定しても、MQRFH2 jms.Dlv フィールドの値は影響されません。

サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 MQRFH2 jms.Dlv フィールドの値が存在してもその値にかかわらず、 JMS_IBM_MQMD_Persistence プロパティーを MQMD Persistence フィールドの値 (整数) に設定します。

注 13: JMS_IBM_MQMD_ReplyToQ および JMS_IBM_MQMD_ReplyToQMgr プロパティーは、 JMSReplyTo プロパティーのデフォルトの処理をオーバーライドします。 サービス統合は、メッセージを IBM MQ フォーマットに変換する際、 JMSReplyTo プロパティーの値が存在してもその値にかかわらず、 MQMD ReplyToQ フィールドを、明示的に設定されている場合は JMS_IBM_MQMD_ReplyToQ プロパティーの値 (ストリング) に、 MQMD ReplyToQMgr フィールドを、明示的に設定されている場合は JMS_IBM_MQMD_ReplyToQMgr プロパティーの値 (ストリング) に設定します。 JMS_IBM_MQMD_ReplyToQ または JMS_IBM_MQMD_ReplyToQMgr フィールドを設定しても、 MQRFH2 jms.Rto フィールドの値は影響されません。

サービス統合は、メッセージを IBM MQ フォーマットから変換する際、 MQRFH2 jms.Rto フィールドの値が存在してもその値にかかわらず、 JMS_IBM_MQMD_ReplyToQ および JMS_IBM_MQMD_ReplyToQMgr プロパティーを MQMD ReplyToQ および ReplyToQMgr フィールドの値 (ストリング) に設定します。

注 14: JMS_IBM_Report_* プロパティーのリストについては、 MQMD レポート・フィールドの JMS プロバイダー固有プロパティーへのマッピングを参照してください。

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjc0007_
ファイル名:rjc0007_.html