Я начал работать с 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 и нескольких других источников, но это не кажется очень интуитивным для начинающего, как я.Пожалуйста, помогите мне понять это с некоторыми примерами.