订单单元 - 消息应该转到同一节点?

时间:2014-02-21 07:26:45

标签: java jms message-queue

在消息队列中,我添加了消息单元。它按顺序处理。但在集群环境中,消息转到不同的节点。是预期的吗?

请帮忙。提前谢谢。

编辑:如何使用Message.acknowledge()查找执行顺序,请给我任何教程或链接。我试图找到,但无法获得有用的信息。

2 个答案:

答案 0 :(得分:0)

是的,它表现得像预期的那样。在群集模式下,在群集的所有节点中运行的使用者将平均使用。因此,您无法保证首先处理首先出现在队列中的消息。您可以使用不同的方法来实现您的目标(如果我对您的问题的理解是正确的,则按照收到的顺序处理邮件)

1:仅在群集中的节点上运行使用者

2:拥有节点的共享位置,以同步消息处理序列 例如:消费后和处理前的每个节点都会检查消息是应该立即处理还是以后再处理

3:在你的消息上有一些消息标题,以制定消息消费逻辑的策略(如果可能的话,因为在这种情况下,每条消息应该是自给自足的,以告诉它是否应该现在或稍后处理)

答案 1 :(得分:0)

在分布式队列中,具有相同UOO的消息由同一节点处理。

以下为视频简要介绍。演示由Oracle完成。

http://www.youtube.com/watch?v=B9J7q5NbXag