在电路中多次使用同一队列

时间:2018-09-22 14:08:25

标签: java apache-camel jms

我有几条骆驼路线定义了这样的“电路”(其中qx是队列号x,px是处理器号x)

q1 -> p1 -> q2 -> p2 -> q1 -> p1 -> q3 -> p3 -> (...)

from("jms:queue:q1).process("p1").dynamicRouter().method(DynamicRouterTest.class, "nextStep");
from("jms:queue:q2).process("p2").to("jms:queue:q1");
from("jms:queue:q3).process("p3").to(...);

您会注意到,我重用了队列q1(出于结构目的),dynamicrouter动态地指示消息来自q1的目的地,但是消息到达时的目的地p2,我收到这样的超时异常:

2018-09-22 14:21:21,443 [Camel (camel-1) thread #6 - JmsConsumer[QueueTest]] WARN  org.apache.camel.component.jms.EndpointMessageListener  - Execution of JMS message listener failed. Caused by: [org.apache.camel.RuntimeCamelException - org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: ID:373034344443444200000000000000000000000000000000 not received. 

如何在不禁用jms答复的情况下使其正常工作?

0 个答案:

没有答案