Apache camel Camel:可以在javadsl中启动块吗?
通过谷歌搜索Camel文档,我还没有找到在javadsl中的Camel多播语句中启动块的方法 例如,我想象的是这样的:Apache camel Camel:可以在javadsl中启动块吗?,apache-camel,Apache Camel,通过谷歌搜索Camel文档,我还没有找到在javadsl中的Camel多播语句中启动块的方法 例如,我想象的是这样的: from("direct:dummy") .multicast() .begin().setHeader("A","toto").process(doSomething).end() .begin().setHeader("A","titi").process(doSomethingElse).end() ; 假设的“begin()”将
from("direct:dummy")
.multicast()
.begin().setHeader("A","toto").process(doSomething).end()
.begin().setHeader("A","titi").process(doSomethingElse).end()
;
假设的“begin()”将启动一个块。有没有这样的构想?有没有其他方法可以做这样的事情
我现在使用的替代方法是为每个块定义一个“direct”,但在某些情况下(特别是设置一个头),这会使代码更难阅读
在我的示例中,备选方案如下所示:
from("direct:dummy")
.multicast()
.to("direct:dummy.toto")
.to("direct:dummy.titi")
;
from("direct:dummy.toto")
.setHeader("A","toto")
.process(doSomething)
;
from("direct:dummy:titi")
.setHeader("A","titi")
.process(doSomethingElse)
;
使用.pipeline()而不是.begin()作为块太好了!谢谢,我错过了那个:)