Найти тему

Использование .when(), .end(), .endChoice() в Apache Camel с примерами

1. Если блок .when() содержит внутри дочерние .choice() блоки, то такие дочерние блоки .when()/.otherwise() нужно завершать командой .endChoice().

Нельзя использовать .end() для завершения дочерних .choice() блоков.

Такие блоки блоки нужно закрывать с помощью .endChoice().

-2

2. Если блок .when() содержит более сложный блок, (например, .loadBalance()), то такой блок нужно завершать командой .endChoice().

Не удастся закрыть .when() блок, имеющий дочерний .loadBalance() блок с помощью .end().

-3

Это можно сделать только с помощью .endChoice().

-4

3. Можно не закрывать .when()/.otherwise() блок, когда он содержит лишь примитивные блоки-обработчики внутри. Но если после блока .choice() стоят какие-либо другие обработчики, то его нужно закрыть с помощью .end().

-5

Документация: https://camel.apache.org/components/3.12.x/eips/choice-eip.html