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()
ここから、wards がt1
呼び出さfrom("direct:B")
れ、from("direct:C")
同期的に呼び出されます
また
direct:b
direct:c
2 つの新しいスレッドで非同期に呼び出されます。