Как мы можем обрабатывать direct-vm асинхронно?Запросить только обмен сообщениями с 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 потока)?
Спасибо, я тоже думал то же самое. Я видел билет, чтобы сделать асинхронный прямой vm. Используя vm или seda, поток всегда прослушивается для запроса и пытается избежать этого. – Mr9