【发布时间】: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