问题:
我如何确保按照收到的订单处理消费者的消息?
答案 0 :(得分:0)
您不能与多个消费者合作,至少不是基础JMS。你需要提供逻辑。
我正在考虑的解决方案都很糟糕,因为它需要异步集成的优点并尝试使其同步。对于附加了版本的每个“对象”或“消息”或“类型”,您可以跟踪您收到的版本并尝试保证按顺序处理它们。如果消费者收到它们的故障,消费者可能只是停留在其轨道上或者可以重新排队消息,但是任何一种解决方案都有一些不好之处。
如果存在一组有限的对象版本,并且您可能多次看到对象,则可以使用消息选择器来确保给定的使用者是唯一看到该特定ID消息的消费者。 / p>
如果您的JMS提供程序支持优先级队列,您可以指定不同的优先级,并希望这以适当的顺序给出它们,但即使这样也会附加竞争条件。
我再次问一个问题:你使用的是正确的技术吗?