ActiveMQ Artemis:获取所有队列的列表



在artemis web控制台中有一个选项可以获取所有队列的列表。

http://localhost:8161/console/jolokia/exec/org.apache.activemq.artemis:broker=%22localhost%22/listQueues(java.lang.String,int,int)

我如何使用curl命令通过上面的url获得所有队列的列表,或者有其他方法可以获得所有队列列表吗?

我正在使用artemis 2.11.0

listQueues操作对于筛选或分页队列列表非常有用。它有三个参数optionspagepageSizeoptions是一个用于过滤队列的JSON字符串,即{"字段":","操作":","值":"}。pagepageSize参数允许对结果进行分页,即获得名称为TEST:的前100个队列

curl -H "Origin:${REQUEST_ORIGIN}" -u admin:admin http://${BROKER_ENDPOINT}/console/jolokia/exec/org.apache.activemq.artemis:broker=%22${BROKER_NAME}%22/listQueues/%7B%22field%22:%22name%22%2C%22operation%22:%22CONTAINS%22%2C%22value%22:%22TEST%22%7D/1/100

${REQUEST_ORIGIN}是与jolokia-access.xml文件中的标记allow-origin定义的限制相匹配的请求来源。

${BROKER_ENDPOINT}是由bootstrap.xml文件中的标记web的属性bind定义的代理HTTP服务器的端点。

${BROKER_NAME}是由broker.xml文件中的标记name定义的代理名称。

使用默认值,命令变为:

curl -H "Origin:http://localhost" -u admin:admin http://localhost:8161/console/jolokia/exec/org.apache.activemq.artemis:broker=%220.0.0.0%22/listQueues/%7B%22field%22:%22name%22%2C%22operation%22:%22CONTAINS%22%2C%22value%22:%22TEST%22%7D/1/100

listQueues方法实际上适用于命令行中可用的artemis queue stat命令。它需要特殊的输入参数来支持分页输出和各种返回参数。

如果您想从代理获得队列列表,那么最好的选择是getQueueNames方法。您可以使用类似以下curl命令的内容:

curl -s -k --user admin:admin -H "Origin: http://localhost:8161" "http://localhost:8161/console/jolokia/read/org.apache.activemq.artemis:broker=%22localhost%22/QueueNames"

相关内容

  • 没有找到相关文章

最新更新