【发布时间】:2012-10-13 00:14:17
【问题描述】:
在使用ActiveMQ时,有些问题困扰着我:
1. 当broker crash或stop时,sender的消息会丢失(我设置了timeout,因为sender有其他事情要做)。
2. 消费者从代理收到所有消息,但我怎么知道消费者收到了所有消息(零丢失)。
3. 如果消息丢失,我想立即知道。
在生产中,我想监控activemq,知道哪条消息丢失了。 谁能帮我一个忙?
【问题讨论】:
在使用ActiveMQ时,有些问题困扰着我:
1. 当broker crash或stop时,sender的消息会丢失(我设置了timeout,因为sender有其他事情要做)。
2. 消费者从代理收到所有消息,但我怎么知道消费者收到了所有消息(零丢失)。
3. 如果消息丢失,我想立即知道。
在生产中,我想监控activemq,知道哪条消息丢失了。 谁能帮我一个忙?
【问题讨论】:
您可以实现一个侦听器,一旦您的生产者/消费者与代理失去联系,该侦听器就会被调用。
如果消费者崩溃 使用显式确认:activemq.apache.org/should-i-use-transactions.html
您可以使用持久消息来避免在代理崩溃时丢失消息: activemq.apache.org/what-is-the-difference-between-persistent-and-non-persistent-delivery.html
【讨论】: