activemq临时队列无法正常工作

时间:2018-02-05 10:39:05

标签: apache-camel jms activemq stomp

我需要实现" ActiveMq请求响应"如http://activemq.apache.org/how-should-i-implement-request-response-with-jms.html所述。发送者用ruby编写并使用STOMP,接收者用java编写并使用JMS(camel)。

发件人订阅临时队列并将消息发送到另一个(静态)队列,并将JMSReplyTo标头设置为临时队列的名称(/ temp-queue / fdc68b92-efe2-4d6f-b239-0539c4705e57,请参阅{ {3}})。

接收方获取此消息(使用标头JMSReplyTo = queue:/// temp-queue / fdc68b92-efe2-4d6f-b239-0539c4705e57),处理它并将结果放入回复队列。但是,STOMP客户端没有收到任何东西。如果我使用"正常"排队一切正常。

如何让它运作?

1 个答案:

答案 0 :(得分:0)

好的,经过大量调试后发现问题是直接设置“JMSReplyTo”标头而不是“回复”标题。

似乎activemq在内部根据需要重写“reply-to”标头(类似于JMSReplyTo = temp-queue:// ID:mybroker.local-42798-1516183213738-5:128503:1),但是传递“JMSReplyTo”不变。