消息格式

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> 文件夹中。

未显示在表中的字段名称不具常规含意,或者仅在两个头格式的其中一个中有效。不复制没有识别或与另一格式不对应的字段名称。例如,MQRFH 的以下名称 - 值区域:
MQPSCommand Publish
MQPSPubOpts RetainPub
MQPSStreamName SAMPLE.BROKER.RESULTS.STREAM
MQPSTopic "Sport/Soccer/State/LatestScore/Team1 Team2"
转换为该 MQRFH2 文件夹:
<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
DeregPub
DeregSub
Publish
RegPub
RegSub
ReqUpdate


1


1

MQMD.Format

MQFMT_PCF
MQFMT_RF_HEADER


MQMD.Report

MQRO_PAN
MQRO_NAN


MQMD.MsgType

MQMT_REQUEST
MQMT_DATAGRAM


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

 

响应的命令

注:
  1. 出于迁移目的,支持这个选项。
  2. MQPS 是 WebSphere MQ Publish/Subscribe
  3. 流名称参数是主题的有效前缀。如果设置了 Publication 节点的 implicitStreamNaming 属性,则可以从队列名中获得流名称。
  4. 客户机标识被确定为并置队列管理器名和队列名,还可以有相关标识(当设置了作为标识选项的相关标识时)。 因此,应用程序标识是“MQPSQMgrName:MQPSQName[:correlId]”。 如果消息中没有出现这些值,则使用 WebSphere MQ Publish/Subscribe指定的缺省值。
  5. 这个选项的行为不同。
  6. 已经添加新值。
  7. WebSphere Message Broker 忽略。
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
aq19780_