【发布时间】:2017-03-15 20:45:06
【问题描述】:
用例:我想从 http 端点挑选消息并将它们路由到 jms 端点。
我的路线配置如下:
from("jetty:http://0.0.0.0:9080/quote")
.convertBodyTo(String.class)
.to("stream:out")
.to(InOut, "wmq:queue:" + requestQueue +
"?replyTo=" + responseQueue +
"&replyToType=" + replyToType +
"&useMessageIDAsCorrelationID=true");
我的理解是,这样我将获得 JMS 端点的请求-响应模式,correlationId 将是对相应请求做出响应的唯一标识符。 当我只有 1 个应用程序实例在运行时,这很有效,但是当我同时运行 1 个以上的实例时,响应是随机获取的,而不仅仅是生产者。
例如,A 和 B 是路由(和侦听器)的 2 个实例,具有完全相同的配置,用于侦听共享队列上的响应。有时 A 会收到它的响应,但有时它也会对 B 生成的消息进行响应。
感谢任何关于此的帮助/指针。谢谢!
【问题讨论】:
-
您能否确认另一端的应用程序正在回复具有正确设置的不同相关 ID 的响应?
标签: apache-camel jms ibm-mq spring-jms