【发布时间】:2020-06-13 11:50:30
【问题描述】:
我们在项目中使用 ActiveMQ,消息由不同的生产者同时写入到同一个队列中。因此,订单混乱。无论如何,消息可以在消费者消费之前在队列中重新排序
例如,生产者 A 生成消息 -> M1、M2、M3(自定义标头属性为 1、2、3) 生产者 B 生成消息 -> M4、M5、M6(自定义标头属性为 4、5、6)。
由于竞争条件,我们以 M1、M4、M5、M2、M3、M6 的形式将消息发送到队列。
我们能否使用自定义标头属性按所需顺序重新排序消息,例如:M1、M2、M3、M4、M5、M6?
注意:我们的项目中没有使用 Java。我们正在使用 Mulesoft 来生成和使用来自 ActiveMQ 的消息。
我见过this link,这与我们的问题类似,但是当我按照这些步骤操作时,链接中提供的解决方案不清楚或者无法正常工作。
【问题讨论】:
-
首先是什么导致消息被发送出去或订购?
-
另外,当您使用来自this answer 的解决方案时,什么不起作用?