Использование одной и той же очереди несколько раз в цепи - PullRequest
0 голосов
/ 22 сентября 2018

У меня есть несколько верблюжьих маршрутов, определяющих подобную "схему" (где 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?

...