2012-10-23 38 views
1

当使用ActiveMQ时,有些问题困扰我:

1.当代理崩溃或停止时,来自发件人的邮件将会丢失(由于发件人有其他工作,我设置超时)。
2.消费者收到来自经纪人的所有消息,但我如何知道消费者收到了所有消息(零丢失)。
3.如果信息丢失,我想立即知道。ActiveMQ monitor

在生产中,我想监视activemq,并知道哪些消息丢失。 任何人都可以帮我一个忙吗?

回答

0

只要生产者/消费者失去与经纪人的联系,您就可以实现一个监听者。

http://activemq.apache.org/maven/5.5.0/activemq-core/apidocs/org/apache/activemq/transport/TransportListener.html

如果消费者崩溃 使用显式ACK:activemq.apache.org/should-i-use-transactions.html

你可以使用持久性消息来避开代理崩溃丢失消息: activemq.apache.org/what-is-the-difference-between-persistent-and-non-persistent-delivery.html

+0

谢谢。你如何做生产中的显示器? – user1767309

+0

假设我使用持久性消息,消息应存储在代理持久性适配器内,直到消费者接收并确认消息。但是我使用'useAsyncSend'和'soTimeout',在这种情况下,丢失信息的频率非常高。 – user1767309