微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AmazonMQ / ActiveMQ消息重新交付政策已忽略的最大最大交付量

如何解决AmazonMQ / ActiveMQ消息重新交付政策已忽略的最大最大交付量

我已经如下配置ActiveMQ重新交付插件(最多4次重新交付)

  <redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
  <redeliveryPolicyMap>
    <redeliveryPolicyMap>
      <defaultEntry>
        <redeliveryPolicy initialRedeliveryDelay="5000" maximumRedeliveries="4" redeliveryDelay="10000"/>
      </defaultEntry>
    </redeliveryPolicyMap>
  </redeliveryPolicyMap>
</redeliveryPlugin>

如果客户端无法发送ACK,则重新发送消息。到目前为止,一切都很好。但是,经纪人完全忽略了max reeliveries,并且多次“无限”地不断传递消息。而且消息永远不会移到DLQ。

我也尝试使用: ?jms.redeliveryPolicy.maximumRedeliveries=4在连接URI(STOMP连接器)上,但也没有运气。

我们非常感谢您的帮助!

解决方法

对于STOMP客户端,我假设代理不会将消息视为已传递,除非客户端对消息进行了确认或否定,否则它必须假定从未将其发送给客户端,因此将其视为始终具有交货计数为零。经纪人重新交付插件会取消邮件的发送计数,因此,如果将邮件视为未送达,则在这种情况下很可能对邮件不采取任何措施。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。