我想在ActiveMQ中设置重新传递策略。我已经设置了3次重试次数,之后该消息应该被发送到死信队列。但是我注意到,虽然处理消息的3次尝试(发生异常时)被多次处理。为什么?
为什么这个额外的再处理?我认为当消息被发送回队列时,我的监听器应该收到此消息并再次尝试仅处理此消息一次。哪个参数负责此重新处理?
您很可能需要将jms.redeliveryPolicy.maximumRedeliveries=0
添加到连接URI。默认情况下,ActiveMQ客户端在客户端重试。这一切都很好,但是如果你已经配置代理来处理重试,你通常不希望客户端也这样做。只需添加选项即可。有关选项本身,请参阅http://activemq.apache.org/redelivery-policy.html。