IBM MQ 消息

IBM® MQ 消息由消息属性和应用程序数据组成。 消息队列消息描述符 (MQMD) 包含消息在发送和接收应用程序之间传输时应用程序数据随附的控制信息。

消息的组成部分

IBM MQ 消息由两部分组成:
  • 消息属性
  • 应用程序数据
图 1 表示消息,并显示该消息在逻辑上如何划分为消息属性和应用程序数据。
图 1。 消息说明
由 "消息描述符" 组成的消息,而 "消息描述符" 又由 "消息标识" 和 "持久性" 组成。 这些构成了消息属性。 消息的 "应用程序数据" 部分包含两个字段: "地址" 和 "索赔详细信息"。

除非对 IBM MQ 消息执行数据转换,否则队列管理器不会更改该消息中携带的应用程序数据。 此外, IBM MQ 不会对此数据的内容施加任何限制。 每个消息中的数据长度不能超过队列和队列管理器的 MaxMsgLength 属性的值。

[AIX、Linux 和 Windows]AIX®, Linux®, and Windows 上,队列管理器和队列的 MaxMsgLength 属性默认为 4 MB(4 194 304 字节),如有需要,最大可更改为 100 MB(104 857 600 字节)。

[IBM i]IBM i上,队列管理器和队列的 MaxMsgLength 属性缺省为 4 MB (4 194 304 字节) ,如果需要,最多可以更改为 100 MB (104 857 600 字节)。 如果您打算在IBM i 上使用超过 15 MB 的IBM MQ信息,请参阅在IBM i上构建程序应用程序

[z/OS]z/OS® 上,队列管理器的 MaxMsgLength 属性固定为 100 MB,而队列的 MaxMsgLength 属性默认为 4 MB(4 194 304 字节),如有需要,可更改至最大 100 MB。

某些情况下,请让消息稍短于 MaxMsgLength 属性的值。 有关更多信息,请参阅 消息中的数据

在使用 MQI 或 MQPUT1 MQI 调用时创建一条消息。 作为这些调用的输入,您可以提供控制信息(如消息的优先级和应答队列的名称)和数据,然后调用会将消息放入队列。 有关这些调用的更多信息,请参阅 MQPUTMQPUT1

消息描述符

您可以使用 MQMD 结构访问消息控制信息,该结构定义了消息描述符

有关 MQMD 结构的完整描述,请参阅 MQMD-消息描述符

有关如何使用 MQMD 中包含报文来源信息的字段的说明,请参阅报文上下文

消息描述符有几种不同版本。 第 2 版报文描述符(或 MQMDE)中提供了分组和分段报文的其他信息(请参阅报文组)。 这与第一版消息描述符相同,但新增了额外字段。 MQMDE-消息描述符扩展中描述了这些字段。