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

问题描述 投票:0回答:4

我需要在运行有 activeMQ 的远程主机上运行测试,并且我想通过与本地文件进行比较来验证队列的名称是否正确。我使用 bstat 来获取 activeMQ 的状态,然后对包含 destionName 的部分进行 grep,但我想知道是否有更好的方法通过命令行或 shell 而不是 java 来完成此操作?

提前致谢!

activemq-classic
4个回答
6
投票

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

a -b tcp://remote-broker-hostname:61616 --list-queues

会打印

Queues:
Queue4
DELAYED
ChatMessages
Operation completed in 22ms (excluding connect)

它是用java编写的。

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


5
投票

尝试使用 activemq query 命令与 -QQueue 和 -view 参数一起使用。

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

Name = test.queue
Name = notification-q

您可以传递参数“--jmxurl”适当的值来与远程ActiveMQ服务器通信。


0
投票

我使用这个工具 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

0
投票

AmazonMQ 不支持 jmxurl 那么我们应该如何使用命令行工具连接 amazon active mq?

© www.soinside.com 2019 - 2024. All rights reserved.