2

我的 5.0.8 ActiveMQ 队列名为queue/andburn. 使用

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

创建一个新队列queue.andburn/当我像\/我一样逃跑时queue\.andburn。当我省略时,type=queue我没有看到我的消息添加到我现有的队列中。当我/用来表示斜线时也是如此。

注意:所有转义都是queue在 URI 之后完成的,例如

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

ActiveMQ REST 页面对解决这个问题没有帮助。

这是输出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 gem 通过 Ruby 脚本向 ActiveMQ 发送请求时也会发生这种情况。

4

2 回答 2

0

转义 URL 通常由百分比编码完成。因此,在您的情况下,斜杠将是 %2F

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

我没有使用 CURL 和 ActiveMQ 对此进行测试,但它是在 URI 中表示斜线的最自然的方式。

于 2013-09-30T05:02:41.790 回答
0

我今天遇到了这个问题,并做了一个小的搜索。我使用 ActiveMQ 版本 5.15.11。可以在这里找到对我有用的解决方案。我只是使用了替代的生产语法。简单地说, http: //127.0.0.1 :8161/api/message?type=queue&destination=My.Queue.With/Slash(而不是在../message.queue/{queue_name}之后给出队列名称)

于 2020-02-18T10:17:42.567 回答