【发布时间】:2020-10-24 03:46:19
【问题描述】:
我们正在使用 JmsTemplate 将消息发送到 IBM MQ 的本地队列。我们将 MQMD 属性 MsgType 设置为 1,但是当从队列中查看消息头时,该值被解释为 MQMT_SYSTEM_FIRST 而不是 MQMT_REQUEST。这是为什么?这是对方系统无法回复回复信息的原因吗?
我们正在使用另一个系统进行调试。根据他们的反馈,他们在队列中检查我们的消息头是这样的。 enter image description here
但是根据过去的经验,我们的消息应该是这样的(请只关注 MsgType 字段)。 enter image description here 并且没有线索说明为什么会出现这两种不同的情况。它们的值都是1,但是分别显示MQMT_SYSTEM_FIRST和MQMT_REQUEST。
【问题讨论】:
-
请提供更多信息来说明“值被解释为”的含义。在做什么解释?如果您查看 cmqc.h 文件,您将看到
MQMT_SYSTEM_FIRST和MQMT_REQUEST都定义为值1。这不是错误,而是因为它们用于不同的目的。以同样的方式,可以将星期几编码为 1-7,一年中的月份编码为 1-12。 -
这在 - stackoverflow.com/questions/64460680/… 中有解释 - 如果您在 MQMD 中看到值 1,那么它就是
MQMT_REQUEST -
我上传了图片,描述更详细,请帮帮我
-
正如 JasonE 所说,显示消息的系统中似乎存在错误。该字段不能是
MQMT_SYSTEM_FIRST。如果其他系统将其解释为MQMT_SYSTEM_FIRST,那么这是一个错误。
标签: ibm-mq