0
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在两个新线程中异步调用。

4

1 回答 1

0

阅读收件人列表文档以获取更多详细信息。默认情况下,它同步处理消息。您可以使用收件人列表的并行处理功能来同时运行它。您还可以定义自己的线程池。

去阅读那里的文档。

于 2013-11-06T20:47:49.570 回答