3

然后,Broker 接收消息并将其发送到死信队列,以便稍后对其进行分析。

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

4

2 回答 2

2

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

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

本质上,分析的原因和方式取决于您,代理提供检索消息的方法,您如何理解它们取决于您。

于 2017-10-19T19:55:06.470 回答
2

我制作了一个简单的开源命令行工具,称为 A,用于手动处理 DLQ 消息等。

此命令会将浏览一条消息的内容写入文件以供进一步检查。

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

处理 DLQ 消息的一种常用方法是能够从系统的某些管理视图中处理它们。与检查内容一样,将错误消息与重试或丢弃消息的选项相关联。这需要一些开发人员。

于 2017-10-20T05:02:23.630 回答