首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jboss中的JMS队列重新传递顺序

jboss中的JMS队列重新传递顺序
EN

Stack Overflow用户
提问于 2012-10-23 17:27:13
回答 1查看 856关注 0票数 1

我从一个线程发送一个java对象到一个队列。通过队列中的消息调用relavent MDB的onMessage。onMessage,我将消息中存在的关键字与缓存中的关键字进行匹配,如果关键字不存在,我将抛出自定义运行时异常,只是为了让容器重新传递此消息。(我有另一个自治系统,它将来自外部系统响应的键添加到缓存中,它可能会慢3-5秒)在这种情况下,这个容器是将这个未处理的消息添加到队列的末尾,还是立即重新传递?有没有办法延迟送货时间?假设队列每秒都被550条左右的消息填满。

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-24 05:30:53

HornetQ上目前有一个重新传递延迟功能,但所有后续消息都可以很好地传递。

有一个功能请求,用于在重新交付发生但尚未实现的情况下保持队列一段时间。

但是,如果队列中有多个消费者,那么无论如何订单都会散布在消费者中。如果deliveryCount > 1,您可以使用消息分组,并在您的onMessage上添加睡眠。消息分组是为了保证不会有其他消费者(或其他MDB实例)接收到顺序混乱的消息。

根据您的应用程序是如何完成的,以及根据您的需求,您可能希望只允许MDB的单个实例。

另外:查看consumer-window-size,您可以在客户端上选择无缓冲,当您有多个使用者或多个mdb实例时,这会有更好的行为。

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

https://stackoverflow.com/questions/13027323

复制
相关文章

相似问题

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