EMS 或 BW 中的 JMS 交货单

JMS delivery order in EMS or BW

有什么方法可以控制 EMS 或 Tibco(使用 JMS 主题订阅者)中主题中消息的传递顺序?类似于消息选择器,但不是通过过滤来进行排序。

我想使用像 JMSXDeliveryCount 这样的 header,这样新消息将获得更高的优先级。我知道有 RedeliveryDelay,但这仅适用于 queues,不适用于主题。

如果我可以在收到主题订阅者的消息后设置 JMSPriority,那么即使是 JMSPriority 也可能是一个选项。我可以这样做吗?也许使用 Java 代码 activity?

代理将按接收消息的顺序传送消息,但重新排序消息是分布式计算/EIP 问题(请参阅排序器)。问题是代理不知道有多少消息即将到来或保持 window 打开多长时间以重新排序消息。此 activity 最好在您的应用程序中的代理外部完成,以便理解该信息。

EIP 框架和 ESB 在标准化此类工作流的处理程序方面做得很好。

ref: EIP 排序器 http://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageSequence.html

JMSPriority 确实是一个选项,但不能在已收到的消息上设置。解决方案是确认消息并以不同的优先级重新发布。