首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何处理JMS中的消息顺序?

如何处理JMS中的消息顺序?
EN

Stack Overflow用户
提问于 2010-02-12 21:35:13
回答 2查看 27.4K关注 0票数 24

我正在审查一个用Java编写的客户机-服务器应用程序。服务器接收JMS消息并对其进行处理,但是消息可能以意外的顺序到达,并且取消消息可以在订单消息之前到达。你是如何处理这样的案例的?您是否在mdb中执行此操作?

这种情况下有哪些策略或模式?

EN

回答 2

Stack Overflow用户

发布于 2010-02-24 17:59:25

如果您的系统能够处理无序消息,那么它将变得更加灵活。我过去用来解决这个问题的模式是使用延迟队列(在金融领域每天处理800万条消息的系统上)。

在您的示例中,如果我收到尚未收到的订单的删除,我会将其延迟一段时间,然后重试。如果我仍然不知道我被要求删除的订单,我会抛出某种错误(回复原始发送者,发送一条消息到一个特殊的错误队列,...)。

至于延迟队列的实现,这可以是另一个JMS队列,它具有可以接受要延迟的消息的服务。然后,它定期读取延迟的消息,并检查延迟的时间段是否已过期,并将消息重新提交到原始目标队列。

票数 9
EN

Stack Overflow用户

发布于 2010-02-24 18:28:55

我赞同关于检查EAI站点的建议,以及它所基于的书(一本关于MOM和MOM模式的奇妙的文本)。

不过,就我个人而言,我会调查Resequencer

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2252085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档