我们如何分析Activemq的死信队列中的消息

问题描述:

然后,代理将消息发送到死信队列 ,以便稍后进行分析。我们如何分析Activemq的死信队列中的消息

这些是来自apache activemq文章的引用。我的策略也是一样的。我想稍后分析死信队列中的消息。我怎样才能做到这一点?

死信队列(DLQ)就像任何其他队列一样,您可以订阅它并使用JMS MessageConsumer或QueueBrowser消费消息。有了这个功能,您可以从队列中接收消息并像检查其他消息一样检查它。当前的ActiveMQ客户端通常会在消息属性“dlqDeliveryFailureCause”中为消息存储添加一个毒害原因,该消息属性可以指示导致消息被丢弃的原因。

当然,如果您正在查看WebConsole,您也可以查看DLQ中的消息,并检查消息的属性。

本质上来说,分析的原因和意义取决于你,经纪人提供了检索信息的方法,你如何理解它们取决于你。

我做了一个简单的开源command line tool, called A,以手动处理DLQ消息等等。

该命令将写入一个消息的内容浏览到一个文件进一步检查。

a -b tcp://example.org:61616" -c 1 -o msg-data.txt ActiveMQ.DLQ

处理DLQ消息的常见方式是能够从系统的一些管理视图处理它们。像检查内容一样,将错误消息与选项关联起来以重试或放弃该消息。这需要一些开发人员。