我需要实现" 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客户端没有收到任何东西。如果我使用"正常"排队一切正常。
如何让它运作?
答案 0 :(得分:0)
好的,经过大量调试后发现问题是直接设置“JMSReplyTo”标头而不是“回复”标题。
似乎activemq在内部根据需要重写“reply-to”标头(类似于JMSReplyTo = temp-queue:// ID:mybroker.local-42798-1516183213738-5:128503:1),但是传递“JMSReplyTo”不变。