控制多点广播消息的大小

请使用这些信息来了解 IBM® MQ 邮件格式,并缩小 IBM MQ 邮件的大小。

IBM MQ 消息具有许多与它们相关联的属性,这些属性包含在消息描述符中。 对于小型消息,这些属性可能表示大部分数据流量,并可能对传输速率产生重大不利影响。 IBM MQ 多点广播使用户能够配置随消息一起传输的属性 (如果有)。

消息属性 (主题字符串除外) 的存在取决于 COMMINFO 对象是否声明必须发送这些属性。 如果未传输属性,那么接收应用程序将应用缺省值。 MQMD 的默认值不一定与 MQMD_DEFAULT 值相同,如表 1 所示。

COMMINFO 对象包含 MCPROP 属性,用于控制随消息一起流动的 MQMD 字段和用户属性的数量。 通过将此属性的值设置为适当的级别,可以控制 IBM MQ 多点广播消息的大小:

MCPROP
多点广播属性控制随消息一起流动的 MQMD 属性和用户属性数量。
全部
传输 MQMD 的所有用户属性和所有字段。
REPLY
将仅传输用户属性和处理消息应答的 MQMD 字段。 这些属性包括:
  • MsgType
  • MessageId
  • CorrelId
  • ReplyToQ
  • ReplyToQmgr
用户
将仅传输用户属性。
NONE
将不会传输任何用户属性或 MQMD 字段。
COMPAT
此值导致以兼容方式将消息传输到 RMM,这允许与当前 XMS 应用程序和 IBM Integration Bus RMM 应用程序进行某些互操作。
[已除去]XMS .NET 组播信息传递(使用 )已从 弃用,并在 删除。 RMM IBM MQ 9.2 IBM MQ 9.3

多点广播消息属性

消息属性可以来自各种位置,例如 MQMD , MQRFH2中的字段以及消息属性。

下表显示了根据 MCPROP 值 (此部分中先前描述) 发送消息时发生的情况,以及未发送属性时使用的缺省值。
表 1. 消息传递属性及其与多点广播的相关方式
属性 使用多点广播时的操作 缺省值 (如果未传输)
TopicString 始终包含 不适用
MQMQ StrucId 未传输 不适用
MQMD 版本 未传输 不适用
报告 包含 (如果不是缺省值) 0
MsgType 包含 (如果不是缺省值) MQMT_DATAGRAM
到期 包含 (如果不是缺省值) 0
反馈 包含 (如果不是缺省值) 0
编码 包含 (如果不是缺省值) MQENC_NORMAL (单元)
CodedCharSetId 包含 (如果不是缺省值) 1208
格式 包含 (如果不是缺省值) MQRFH2
Priority 包含 (如果不是缺省值) 4
持久 包含 (如果不是缺省值) MQPER_NOT_PERSISTENT
MsgId 包含 (如果不是缺省值) Null
CorrelId 包含 (如果不是缺省值) Null
BackoutCount 包含 (如果不是缺省值) 0
ReplyToQ 包含 (如果不是缺省值) Blank
ReplyToQMgr 包含 (如果不是缺省值) Blank
UserIdentifier 包含 (如果不是缺省值) Blank
AccountingToken 包含 (如果不是缺省值) Null
PutAppIType 包含 (如果不是缺省值) MQAT_JAVA
PutAppIName 包含 (如果不是缺省值) Blank
PutDate 包含 (如果不是缺省值) Blank
PutTime 包含 (如果不是缺省值) Blank
ApplOriginData 包含 (如果不是缺省值) Blank
GroupID 已排除 不适用
MsgSeqNumber 已排除 不适用
偏移量 已排除 不适用
MsgFlags 已排除 不适用
OriginalLength 已排除 不适用
UserProperties 已包含 不适用