【问题标题】:MDB Message consumer delayMDB 消息消费者延迟
【发布时间】:2012-01-28 11:08:45
【问题描述】:

hornetq 中是否有任何选项可以设置消息消费者延迟。如果是这样,请举个例子。 我们的要求:我们需要 MDB 以恒定的 2 分钟延迟读取消息。

【问题讨论】:

    标签: jboss jms message-driven-bean hornetq


    【解决方案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 分钟。然后,您的阅读器可以有一个基于时间的选择器,该选择器仅选择该标题>当前时间的消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-08
        • 1970-01-01
        • 1970-01-01
        • 2023-02-09
        • 1970-01-01
        相关资源
        最近更新 更多