2016-07-07 13 views
0

ActiveMQのjolokiaインターフェイスを使用して、指定されたキューのキューサイズを取得しようとしています。私のキュー名は/some/queueであり、スラッシュのためにAPIが正しく動作することができません。スラッシュ付きActiveMQ jolokiaキュー名

は、ここに私が試したものです:

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クエリで/をエンコードする必要がありますどのように?

答えて

0

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 
関連する問題