4

我需要在部署在 IBM 支持的环境中的应用程序中实现 JMS 消息的重新传递处理,因此 JMS 提供程序是独立的 MQ V6.0。

你知道它是否正确设置了 JMSXDeliveryCount 属性并且我可以依赖这个属性的值吗?

4

1 回答 1

4

我刚刚找到了我的问题的答案:)

IBM WebSphere MQ 设置以下 JMSX* 标头属性:

JMSXUserId将在您发送消息时由 WMQ JMS 设置 - 它查看运行应用程序的用户 ID 并相应地设置 JMSXUserId。

JMSXAppId也将在您发送消息时由 WMQ JMS 设置 - 类似于“ WebSphere MQ Client for Java ”。关于如何解释这个 JMS 规范存在一些争论——一些 JMS 提供者允许应用程序设置它,而另一些则不允许。目前,WebSphere MQ 实现没有。

JMSXDeliveryCount将在消息发送到接收应用程序时由 WMQ JMS 设置 - 它告诉接收应用程序 WebSphere MQ 尝试将消息传递到该应用程序或其他应用程序的次数。通常,消息应该只传递一次,但在失败或事务显式回滚等情况下,传递计数可能会变得更高,应用程序或 JMS 提供者可以使用该信息来发现何时出现问题并可能做某事不同的是,例如将消息移动到死信队列,甚至丢弃消息,具体取决于消息的性质、应用程序和上下文。

于 2009-05-14T09:55:38.267 回答