WebSphere Message Broker 用に開発されたクライアント・アプリケーションは、 MQRFH2 メッセージ・ヘッダーを使用しなければなりません。 そうすると、これらのアプリケーションで、WebSphere Message Broker に備えられているすべての機能を使用できます。
MQRFH メッセージ・ヘッダーを使用する既存のWebSphere MQ パブリッシュ/サブスクライブ・アプリケーションも WebSphere Message Broker でサポートされますが、 機能はWebSphere MQ パブリッシュ/サブスクライブに備えられている機能に制限されます。
WebSphere MQ パブリッシュ/サブスクライブ では、MQRFH2 形式をサポートしていません。 WebSphere MQ パブリッシュ/サブスクライブ・ブローカーに接続されているクライアントでは、MQRFH 形式を使用する必要があります。
しかし、パブリッシュ/サブスクライブを使用して相互に通信する必要のあるクライアント・アプリケーションは、使用しているメッセージ形式に関係なく相互に通信できます。 WebSphere Message Broker には、サブスクライバーが正しい形式でメッセージを受信できるよう自動変換機能があります。
以下の表は、MQRFH メッセージ・ヘッダーと MQRFH2 メッセージ・ヘッダーで同等のフィールドの対応を示しています。
MQRFH フィールド名 | MQRFH2 フィールド名 |
---|---|
MQPSCommand | Command |
MQPSDelOpts | DelOpt |
MQPSPubOpts | PubOpt |
MQPSPubTime | PubTime |
MQPSQMgrName | QMgrName |
MQPSQName | QName |
MQPSRegOpts | RegOpt |
MQPSSeqNum | SeqNum |
MQPSTopic | トピック |
表に示されているすべての MQRFH2 フィールドは、 <psc> フォルダーに含まれています。
MQPSCommand Publish MQPSPubOpts RetainPub MQPSStreamName SAMPLE.BROKER.RESULTS.STREAM MQPSTopic "Sport/Soccer/State/LatestScore/Team1 Team2"
<psc> <Command>Publish</Command> <PubOpt>RetainPub</PubOpt> <Topic>Sport/Soccer/State/LatestScore/Team1 Team2</Topic> </psc>
このような対応の規則を使用することにより、WebSphere Message Broker では、MQRFH サブスクライバーは、 MQRFH2 パブリケーションを受信でき、MQRFH2 サブスクライバーは、MQRFH パブリケーションを受信できます。
MQRFH2 サブスクライバーがサブスクライブしているトピックが、WebSphere MQ パブリッシュ/サブスクライブ・クライアントによって MQRFH 形式でパブリッシュされたものであっても、 互換性にある程度の制限はありますが、MQRFH2 サブスクライバーは内容フィルターを指定できます。 この制限については、このトピックの後の部分で説明されます。
次の表は、異なるメッセージ形式を使用するクライアントに有効なオプションを要約したものです。
メッセージ |
オプション名 |
オプション値 |
サポート |
---|---|---|---|
すべての要求 |
MQPSCommand |
DeletePub |
はい |
MQMD.Format |
MQFMT_PCF |
いいえ |
|
MQMD.Report |
MQRO_PAN |
はい |
|
MQMD.MsgType |
MQMT_REQUEST |
はい |
|
MQMD.MsgId |
|
はい |
|
MQMD.CorrelId |
|
はい4 |
|
MQMD.ReplyToQ |
|
はい |
|
MQMD.ReplyToQMgr |
|
はい |
|
MQPSStreamName |
|
トピックの先頭3 |
|
MQPSTopic |
|
はい |
|
すべての要求 (ただし次を除く) |
MQPSQMgrName |
|
はい |
MQPSQName |
|
はい |
|
MQPSRegOpts |
CorrelAsId |
はい |
|
Delete Publication |
MQPSDelOpts |
Local |
はい5 |
Deregister Publisher1 |
MQPSRegOpts |
DeregAll |
はい |
Deregister Subscriber |
MQPSRegOpts |
DeregAll |
はい |
パブリッシュ |
MQMD フィールド |
MQPS で指定したとおり2 |
はい |
MQPSRegOpts |
Anon |
はい7 |
|
Local |
はい5 |
||
DirectReq |
はい1 |
||
MQPSPubOpts |
NoReg |
はい1 |
|
RetainPub |
はい (パブリッシャーによる設定) |
||
IsRetainedPub |
はい (ブローカーによる設定) |
||
OtherSubsOnly |
はい |
||
MQPSPubTime |
|
はい |
|
MQPSSeqNum |
|
はい |
|
MQPSStringData1 |
|
はい |
|
MQPSIntData1 |
|
はい |
|
Register Publisher1 |
MQPSRegOpts |
Anon |
はい7 |
Local |
はい5 |
||
DirectReq |
はい1 |
||
Register Subscriber |
MQPSRegOpts |
Anon |
はい7 |
Local |
はい5 |
||
NewPubsOnly |
はい |
||
PubOnReqOnly |
はい |
||
InclStreamName |
いいえ3 |
||
InformIfRet |
はい |
||
すべての応答 |
MQPSCompCode |
|
新しい値を追加6 |
MQPSReason |
|
新しい値を追加6 |
|
MQPSReasonText |
|
新しい値を追加6 |
|
MQPSCommand |
|
これが応答となるコマンド |