ActiveMQ中如何按特定顺序消费消息?

How consume messages in specific sequence in ActiveMQ?

我需要维护我在 ActiveMQ 队列中发送的特定 sequence/order 条消息,这些消息应仅按该顺序使用。

例如:我有 10 条消息,我希望它们按特定顺序发送,例如 - 4,2,1,5,3,6,8,7,9,10。

我知道消息优先级,但如果我有超过 10 条消息,那将无法解决我的问题,因为我们只能拥有从 0 到 9 的优先级,所以这实际上不是关于消息优先级,而是关于维护消息中的特定 sequence/order。

如有任何指点,我将不胜感激。

谢谢

除非您使用选择器或优先级来解决这个问题,否则消息会按照它们到达的顺序从队列中发送。如果消息需要按发送顺序以外的顺序使用,那么您可能需要考虑一些外部解决方案,例如 Camel Resequence 类型的基于 EIP 的解决方案。永远记住,经纪人不是数据库,这样对待它注定要失败。