Как верблюд получатель список пересылать сообщения

from("direct:A")
    .process(//processing here)
            .recipientList(//expression that return two recipients [direct:B, direct:C] )

from("direct:B")
    .process(//processing here)...


from("direct:C")
    .process(//processing here)...

.from("direct:A") ведет себя как метод Java, то есть поток, который вызывает его, будет продолжать process(),

Так что же будет в вышеуказанном случае?

Давай скажем нить t1 звонки from("direct:A") затем

t1 будет продолжать process()

а потом t1 войдет в recipientList()

Теперь отсюда подопечные t1 вызов from("direct:B") а затем позвоните from("direct:C") синхронно

или же

direct:b а также direct:c будет вызываться в двух новых потоках асинхронно.

1 ответ

Решение

Прочитайте документацию списка получателей для более подробной информации. По умолчанию он обрабатывает сообщения синхронно. Вы можете использовать функцию параллельной обработки списка получателей для одновременного запуска. Вы также можете определить свои собственные пулы потоков.

Пойди, прочитай документацию, в которой он находится.

Другие вопросы по тегам