如何调试ActiveMQ客户端?

如何调试ActiveMQ客户端?,activemq,Activemq,我是ActiveMQ的新用户,我正在寻找一种方法来获取队列连接客户端的详细调试信息。我的问题是:我的服务器正在通过队列向客户机发送消息。使用与代理关联的管理web页面,我可以验证以下内容:队列已创建、存在与队列关联的使用者、消息已排队、消息已调度、调度队列大小为1、消息未排队。这个设置昨天还在工作,但今天却神秘地停止了工作,尽管我重新启动了activemq服务。位于/var/log/activemq.log的日志文件不包含任何有用信息 在这一点上,我被难住了;我假设配置有一些问题,但从昨天起就没

我是ActiveMQ的新用户,我正在寻找一种方法来获取队列连接客户端的详细调试信息。我的问题是:我的服务器正在通过队列向客户机发送消息。使用与代理关联的管理web页面,我可以验证以下内容:队列已创建、存在与队列关联的使用者、消息已排队、消息已调度、调度队列大小为1、消息未排队。这个设置昨天还在工作,但今天却神秘地停止了工作,尽管我重新启动了activemq服务。位于/var/log/activemq.log的日志文件不包含任何有用信息

在这一点上,我被难住了;我假设配置有一些问题,但从昨天起就没有改变过。有人对我的下一步有什么建议吗?

首先在conf/log4j.properties中打开代理中的调试(甚至跟踪)日志记录

log4j.logger.org.apache.activemq=DEBUG

重新启动代理并重新运行您的场景。日志记录有望为您提供一些信息。 Jconsole也是监视正在运行的代理的有用工具


您的客户是否使用任何消息过滤器

您还可以启用远程调试,然后连接IDE。 要启动远程调试,请执行

$ACTIVEMQ\u DEBUG=true bin/ACTIVEMQ


然后启动一个远程调试器连接到端口5005

无消息过滤器,我无法真正控制代理配置,因为我不是root用户(不过有用的信息)。有没有办法在客户端获取关于它是否已收到等待传递的字节的低级信息?