【发布时间】:2016-08-02 06:30:24
【问题描述】:
我需要在运行了 activeMQ 的远程主机上运行测试,并且我想通过将队列名称与本地文件进行比较来验证队列名称是否正确。我使用 bstat 来获取 activeMQ 的状态,然后对具有destionName 的部分进行grep,但我想知道是否有更好的方法可以通过命令行或shell 而不是java?
提前致谢!
【问题讨论】:
标签: activemq
我需要在运行了 activeMQ 的远程主机上运行测试,并且我想通过将队列名称与本地文件进行比较来验证队列名称是否正确。我使用 bstat 来获取 activeMQ 的状态,然后对具有destionName 的部分进行grep,但我想知道是否有更好的方法可以通过命令行或shell 而不是java?
提前致谢!
【问题讨论】:
标签: activemq
您可以使用命令行工具“a”。
a -b tcp://remote-broker-hostname:61616 --list-queues
会打印
Queues:
Queue4
DELAYED
ChatMessages
Operation completed in 22ms (excluding connect)
它是用java编写的。
免责声明:我是该工具的作者。
【讨论】:
尝试 activemq query 命令与 -QQueue 和 -view 参数一起使用。
#apache-activemq-5.10/bin/activemq query -QQueue=* --view Name | grep Name
Name = test.queue
Name = notification-q
您可以传递具有适当值的参数“--jmxurl”以与远程 ActiveMQ 服务器通信。
【讨论】:
我使用这个工具jmxterm 来获取 ActiveMQ 队列统计信息并从 bash 脚本验证队列消费者。
以下命令连接到本地主机上的 AMQ 运行以获取队列“MyQueue”的少量统计信息
open service:jmx:rmi://localhost:44444/jndi/rmi://localhost:1099/karaf-root -u user -p password
get -s -d org.apache.activemq -b BrokerName=default,Destination=MyQueue,Type=Queue QueueSize EnqueueCount DequeueCount ConsumerCount
【讨论】: