MsgSeqNumber (MQLONG)

这是组中逻辑消息的序号。

序号从 1 开始,并针对组中的每条新逻辑消息增加 1 ,最多为 999 999 999 999。 不在组中的物理消息的序号是 1。

在以下情况下,应用程序不必在 MQPUT 或 MQGET 调用上设置此字段:
  • 在 MQPUT 调用上,指定了 MQPMO_LOGICAL_ORDER。
  • 在 MQGET 调用上, 指定 MQMO_MATCH_MSG_SEQ_NUMBER。
这些是针对非报告消息的消息使用这些调用的建议方法。 但是,如果应用程序需要更多控制,或者调用是 MQPUT1,那么应用程序必须确保将 MsgSeqNumber 设置为适当的值。

在 MQPUT 和 MQPUT1 调用的输入上,队列管理器使用 队列上的物理顺序中描述的值。 在 MQPUT 和 MQPUT1 调用的输出中,队列管理器将此字段设置为随消息一起发送的值。

在 MQGET 调用的输入上,队列管理器使用 表 2中显示的值。 在 MQGET 调用的输出上,队列管理器将此字段设置为检索到的消息的值。

此字段的初始值为 1。 如果 Version 小于 MQMD_VERSION_2,那么将忽略此字段。