为 WebSphere Message Broker 开发的客户机应用程序应该使用 MQRFH2 消息头。然后,这些应用程序才能使用 WebSphere Message Broker 提供的所有功能。
WebSphere Message Broker 也支持现有的使用 MQRFH 消息的 WebSphere MQ Publish/Subscribe应用程序,但仅限于 WebSphere MQ Publish/Subscribe提供的功能。
WebSphere MQ Publish/Subscribe不支持 MQRFH2 格式。连接到 WebSphere MQ Publish/Subscribe代理的客户机必须使用 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 | Topic |
上表中显示的所有 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 Publish/Subscribe 客户机以 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 |
是 |
|
删除发布内容 |
MQPSDelOpts |
Local |
是5 |
注销发布程序1 |
MQPSRegOpts |
DeregAll |
是 |
注销订户 |
MQPSRegOpts |
DeregAll |
是 |
发布 |
MQMD 字段 |
如 MQPS2 指定的那样 |
是 |
MQPSRegOpts |
Anon |
是7 |
|
Local |
是5 |
||
DirectReq |
是1 |
||
MQPSPubOpts |
NoReg |
是1 |
|
RetainPub |
是(由发布程序设置) |
||
IsRetainedPub |
是(由代理设置) |
||
OtherSubsOnly |
是 |
||
MQPSPubTime |
|
是 |
|
MQPSSeqNum |
|
是 |
|
MQPSStringData1 |
|
是 |
|
MQPSIntData1 |
|
是 |
|
注册发布程序1 |
MQPSRegOpts |
Anon |
是7 |
Local |
是5 |
||
DirectReq |
是1 |
||
注册订户 |
MQPSRegOpts |
Anon |
是7 |
Local |
是5 |
||
NewPubsOnly |
是 |
||
PubOnReqOnly |
是 |
||
InclStreamName |
否3 |
||
InformIfRet |
是 |
||
所有响应 |
MQPSCompCode |
|
添加的新值6 |
MQPSReason |
|
添加的新值6 |
|
MQPSReasonText |
|
添加的新值6 |
|
MQPSCommand |
|
响应的命令 |