2013-09-27 39 views
2

我的5.0.8 ActiveMQ隊列名爲queue/andburn。使用使用curl時,ActiveMQ在隊列名稱中將`/`轉換爲`.`

curl -u admin:admin -d 'body="Aardvark"' "http://localhost:8161/api/message/queue/andburn?type=queue" 

創建一個新隊列queue.andburn。當我逃離/\/我得到queue\.andburn。當我省略type=queue時,我看不到將我的消息添加到現有隊列中。當我使用/代表斜槓時也是如此。

注意:所有轉義都在URI中的queue之後完成,例如,

"http://localhost:8161/api/message/queue\/andburn?type=queue" 

ActiveMQ REST page對解決這個問題沒有幫助。

這裏是curl --version

curl 7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5 
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM NTLM_WB SSL libz 

更新輸出:這是使用RESTClient實現寶石通過Ruby腳本將請求發送到ActiveMQ的時候還發生。

+0

創建ActiveMQ問題[AMQ-4756](https://issues.apache.org/jira/browse/AMQ-4756) – eebbesen

+0

[AMQ-4756](https://issues.apache.org/jira/browse/AMQ-4756)現在似乎已經修復 - 感謝ActiveMQ社區! – eebbesen

回答

0

轉義URL通常由percent encoding完成。所以你的情況斜槓是%2F

http://localhost:8161/api/message/queue%2Fandburn?type=queue 

我還沒有捲曲和ActiveMQ的測試這一點,但它是代表一個URI斜槓最自然的方式。

+0

這也會導致名爲'queue.andburn'的隊列。就好像這個URI被解碼了,然後所有的'/'都被轉換成''''。 – eebbesen