【问题标题】:How to write conditional statements in Apache Camel如何在 Apache Camel 中编写条件语句
【发布时间】:2018-10-24 07:20:03
【问题描述】:

我已经开始使用 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 文档和其他一些资源中理解,但对于像我这样的初学者来说似乎不是很直观。请通过一些例子帮助我理解这一点。

【问题讨论】:

  • 你能发布你的实际路线配置吗?
  • 我觉得你猜的不错。这是在骆驼中使用条件语句的正确方法。

标签: if-statement apache-camel conditional


【解决方案1】:

是的,您使用Content based router 是处理条件消息路由的正确方法。

但是,如果您想更好地了解 Camel,我强烈推荐这本书 Camel in Action(第 2 版)。您将在书中找到该框架的所有重要概念和大量示例。

【讨论】:

  • 找不到第一个链接的页面
  • 感谢您的评论,链接已修复
猜你喜欢
  • 2016-08-17
  • 2018-12-17
  • 2020-04-24
  • 2018-10-19
  • 2011-08-08
  • 1970-01-01
  • 2017-02-03
  • 2010-12-25
  • 2010-12-11
相关资源
最近更新 更多