ActiveMQ在Web控制台中查看原始消息数据

Rob*_*own 5 activemq-classic

我正在成功使用Web控制台对抗我的AMQ 5.2实例,除了我看不到所有消息的内容.

如果我使用Web控制台发送测试消息,我可以看到示例文本内容,但我相信我正在使用的供应商应用程序具有二进制或字节数组消息内容.

为了能够查看这些原始数据,我需要做些什么吗?

谢谢,

Sir*_*hie 5

据我所知,无法在管理控制台中检查消息。您可以获得一些统计信息(例如发送了多少消息等)。ActiveMQ 在接收消息时不会对其进行解组(出于性能原因,解组相当昂贵)。

因此,如果您想通过某种方式检查消息的内容,您基本上可以做两件事:

  1. 编写一个注册所有主题/队列的消费者,通过它你可以看到消息的内容。缺点:如果您使用基于队列的交互,您的“真实”消费者将不会收到所有消息
  2. 编写一个 activeMQ 插件来查看消息。看看 ActiveMQ 的记录器插件。然后编写您自己的(您需要源代码来编译它)并使用 ActiveMQ 加载它(请参阅有关如何配置 ActiveMQ 以加载插件的文档)。您希望覆盖每当有人向代理发送消息时调用的 send() 方法。在那里您可以获得对消息的引用并可以访问其内容。

不过,这两条消息都没有提供方便的查看机制。您将不得不求助于标准输出,或者编写您自己的基于 Web 的访问。