2012-10-23 31 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