Как мы можем обрабатывать direct-vm асинхронно?
У меня есть следующее определение маршрутов Camel:
<route id="routeA">
<from uri="activemq:queue:queueA" />
<to uri="direct-vm:someProcessing" />
<to uri="direct-vm:processAsync" />
</route>
<route id="routeB">
<from uri="direct-vm:processAsync">
<threads executorServiceRef="someRef">
<inOnly uri="direct-vm:timeTakingRoute" />
<threads>
<route>
Когда потребитель очереди потребляет сообщение и отправляет его на routeB и вызывает direct-vm:timeTakingRoute
с помощью DSL потоков, вызывающий поток, который является queueA
, все еще ждет, пока поток, созданный с использованием DSL потока, не завершится.
Как мы можем обработать это асинхронно (поток вызывающего абонента не должен ждать, пока поток, созданный с использованием потока DSL, завершится)?