如何在Apache Camel中编写条件语句

sd2nnvve  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(200)

我已经开始使用Apache Camel,并且遇到了需要执行以下条件块的情况。

if(Condition A) {
   then Activity A to determine Condition B;
   If(Condition B) {
       Then Activity B
   } else {
       Then Activity C
   }
} else {
  Do nothing and end the route.
}

这是我想出的,但它只不过是猜测,它没有用适当的理解写出来。

...
...
.process(new SomeActivity())
.choice()
   .when(header(ConditionA).isEqualTo(Boolean.TRUE))
      .process(new ActivityToSetConditionB())
   .choice()
      .when(header(ConditionB).isEqualTo(Boolean.TRUE))
         .process(new ActivityRelatedToB())
      .otherwise()
         .process(new ActivityRelatedToC())
   .endChoice()
.end()

我试着从Apache camel文档和其他一些资料中理解它,但是对于像我这样的初学者来说,它似乎不是很直观。请用一些例子帮助我理解它。

kwvwclae

kwvwclae1#

是的,您使用Content based router是处理条件消息路由的正确方法。
然而,如果你想更好地理解Camel,我强烈推荐书Camel in Action(第2版)。你会在书中找到框架的所有重要概念和大量的例子。

相关问题