如何从命令行获取activeMQ队列名称?

如何从命令行获取activeMQ队列名称?,activemq,Activemq,我需要在运行activeMQ的远程主机上运行测试,并通过将队列名称与本地文件进行比较来验证队列名称是否正确。我使用bstat获取activeMQ的状态,然后将具有destinonname的部分变为灰色,但我想知道是否有更好的方法通过命令行或shell而不是java来实现这一点 提前谢谢 您可以使用命令行工具“” a-btcp://remote-broker-hostname:61616 --列出队列 将打印 Queues: Queue4 DELAYED ChatMessages Operatio

我需要在运行activeMQ的远程主机上运行测试,并通过将队列名称与本地文件进行比较来验证队列名称是否正确。我使用bstat获取activeMQ的状态,然后将具有destinonname的部分变为灰色,但我想知道是否有更好的方法通过命令行或shell而不是java来实现这一点


提前谢谢

您可以使用命令行工具“”

a-btcp://remote-broker-hostname:61616 --列出队列

将打印

Queues:
Queue4
DELAYED
ChatMessages
Operation completed in 22ms (excluding connect)
它是用java编写的

免责声明:我是该工具的作者。

我使用此工具从bash脚本获取ActiveMQ队列统计信息并验证队列使用者

以下命令连接到本地主机上的AMQ ruuning,以获取队列“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

尝试使用-QQueue和-view参数执行activemq query命令

#apache-activemq-5.10/bin/activemq query  -QQueue=* --view Name | grep Name

Name = test.queue
Name = notification-q
您可以将参数“-jmxurl”传递给适当的值,以便与远程ActiveMQ服务器通信