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