gpt4 book ai didi

java - 带斜杠的 ActiveMQ jolokia 队列名称

转载 作者:行者123 更新时间:2023-12-01 09:43:43 25 4
gpt4 key购买 nike

我正在尝试使用 ActiveMQ 的 jolokia 接口(interface)检索给定队列的队列大小。我的队列名称是 /some/queue,由于斜杠,我无法让 API 正常工作。

这是我尝试过的:

curl -XGET --user admin:admin "http://localhost:8161/api/jolokia/read/org.apache.activemq:brokerName=localhost,destinationName=/some/queue,destinationType=Queue,type=Broker/QueueSize" | python -m json.tool

curl -XGET --user admin:admin "http://localhost:8161/api/jolokia/read/org.apache.activemq:brokerName=localhost,destinationName=%2Fsome%2Fqueue,destinationType=Queue,type=Broker/QueueSize" | python -m json.tool

一个未编码 /,另一个编码为 %2F,两个查询都返回 javax.management.InstanceNotFoundException。当我尝试检索其他队列时,它起作用了。当我执行 destinationName=* 时,它会列出我的队列:

    "org.apache.activemq:brokerName=localhost,destinationName=/some/queue,destinationType=Queue,type=Broker": {
"QueueSize": 0
},

我应该如何在 jolokia 查询中对 / 进行编码?

最佳答案

找到了,要在 jolokia 队列名称中转义 / ,必须在斜杠前面使用 ! (来源 https://jolokia.org/reference/html/protocol.html#escape-rules )。

因此正确的 CURL 是(在 bash ! 中必须使用 \ 转义):

curl -XGET --user admin:admin "http://localhost:8161/api/jolokia/read/org.apache.activemq:brokerName=localhost,destinationName=\!/some\!/queue,destinationType=Queue,type=Broker/QueueSize" | python -m json.tool

关于java - 带斜杠的 ActiveMQ jolokia 队列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38241254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com