6

我想为确认设置超时期限,即如果代理在一段时间内没有收到来自消费者的特定消息的确认,那么代理应该将消息重新发送给消费者。是否可以在代理中设置这样的设置???

4

2 回答 2

2

这里有几个链接解释了如何使用 ActiveMQ 5.9 解决这个问题:

总结一下:

  • 如果消费者 JVM 死了,代理和消费者之间的 JMS 连接将超时,并且任何未确认的消息都将被重新调度以进行传递
  • 如果 JMS 连接没有死,但是消费者在处理消息时卡住了,AbortSlowAckConsumerStrategy当他们达到配置的慢速阈值时将中止慢消费者,默认是 30 秒没有确认消息的消费者是慢的
于 2014-05-27T14:22:51.690 回答
1

http://activemq.2283324.n4.nabble.com/Acknowledgement-Timeout-td4531016.html

重新投递政策不支持这一点。jms 是面向连接的,所以假设如果连接是活动的并且没有确认,那么消费者有充分的理由不确认。

于 2012-04-11T18:13:12.770 回答