在 ActiveMQ 代理中设置消息的超时



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

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

  • https://issues.apache.org/jira/browse/AMQ-3394
  • https://planet.jboss.org/post/coming_in_activemq_5_9_a_new_way_to_abort_slow_consumers

总结一下:

  • 如果消费者 JVM 死亡,代理和消费者之间的 JMS 连接将超时,任何未确认的消息将被重新安排交付
  • 如果 JMS 连接没有中断,但使用者在处理消息时卡住,AbortSlowAckConsumerStrategy 将在达到配置的慢速阈值时中止慢速使用者,默认值是 30 秒未确认消息的使用者很慢

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

重新交付策略不支持此功能。 JMS 是 面向连接,因此假设如果连接是 活着,没有ACK,消费者有充分的理由不AKAC。 还。

相关内容

  • 没有找到相关文章

最新更新