0

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

我想使用 JMSXDeliveryCount 之类的标头,以便新消息获得更高的优先级。我知道有 RedeliveryDelay,但这仅适用于队列,不适用于主题。

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

4

2 回答 2

0

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

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

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

于 2016-12-12T15:21:34.583 回答
0

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

于 2017-02-22T12:52:51.493 回答