MDB 消息消费者延迟
Posted
技术标签:
【中文标题】MDB 消息消费者延迟【英文标题】:MDB Message consumer delay 【发布时间】:2012-01-28 11:08:45 【问题描述】:hornetq 中是否有任何选项可以设置消息消费者延迟。如果是这样,请举个例子。 我们的要求:我们需要 MDB 以恒定的 2 分钟延迟读取消息。
【问题讨论】:
【参考方案1】:我认为这不是 MDB 的常见用例。您确定需要 MBD 吗?您是否考虑过主题队列?
或者您能否描述需要延迟的业务原因?
【讨论】:
我们需要它来进行EDI处理,当EDI请求进来时,与该edi相关的消息应该在2分钟后处理并发送。【参考方案2】:好的 - 那么我认为你应该得到消息,使用一个
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/DelayQueue.html
并将其与 Quartz 之类的调度程序服务或 EJB3.1 中的新计时器一起使用。
最好, 安德斯
【讨论】:
【参考方案3】:一种选择是放置一个 JMS 标头,该标头具有您想要处理消息的时间。例如,从您创建消息开始 2 分钟。然后,您的阅读器可以有一个基于时间的选择器,该选择器仅选择该标题>当前时间的消息。
【讨论】:
以上是关于MDB 消息消费者延迟的主要内容,如果未能解决你的问题,请参考以下文章