【问题标题】:HornetQ message redelivery with useExponentialBackOff使用 useExponentialBackOff 重新传递 HornetQ 消息
【发布时间】:2013-03-20 14:07:48
【问题描述】:

在 ActiveMQ 中,可以在重新传递策略中设置 useExponentialBackOff,这将在每次消息消费失败时以指数方式增加延迟。如何在 HornetQ 中实现这一点?

是否可以将自己的重新交付策略定义为 java 类?

【问题讨论】:

    标签: java jms activemq messaging hornetq


    【解决方案1】:

    它应该可以工作:

    <address-settings>
          <address-setting match="jms.queue.example">
             <dead-letter-address>jms.queue.deadletter</dead-letter-address>
             <max-delivery-attempts>5</max-delivery-attempts>
             <redelivery-delay>1000</redelivery-delay>
             <redelivery-delay-multiplier>2.0</redelivery-delay-multiplier>
          </address-setting>
    </address-settings>
    
    • redelivery-delay-multiplier:这允许您实现 重新发送尝试之间的指数回退。
    • max-delivery-attempts:邮件将转发到死信地址(如果指定),
      在 max-delivery-attempts 尝试不成功之后。
    • redelivery-delay:HornetQ 将在重新发送之前等待此延迟 消息

    【讨论】:

    • 2013-04-01 18:36:50,691 主要错误 org.hornetq.utils.XMLUtil - 配置无效 org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: 无效内容发现从元素“redelivery-delay-multiplier”开始。 '{"urn:hornetq":expiry-address, "urn:hornetq":max-size-bytes, "urn:hornetq":page-size-bytes, "urn:hornetq":page-max-cache- 之一大小,“urn:hornetq”:address-full-policy,“urn:hornetq”:message-counter-history-day-limit,“urn:hornetq”:last-value-queue,“urn:hornetq”:redistribution-延迟,“urn:hornetq”:send-to-dla-on-no-route}' 是预期的。
    • 2.2.21.Final。 2.3.0-CR1 听起来不像是最终版本。
    • 我认为这是一个稳定的版本。最近,HornetQ-2.3.0.CR2 发布了。
    • 我不确定 CR 在这里究竟代表什么,但很可能是“发布候选”
    • 2.3.0.Final 日期为 2013 年 4 月 24 日 - 在 @MojFar 的回答之后不到一个月!
    猜你喜欢
    • 2014-02-02
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 2019-06-21
    相关资源
    最近更新 更多