Apache Camel中end()和endChoice()之间的区别是什么?

San*_*udu 7 apache-camel

谁能告诉我end()endChoice()骆驼之间的区别?我们可以end()代替使用endChoice()吗?

Kaj*_*zer 5

endChoice()有一个相当不幸的命名。它不会结束该choice()块,而只是结束当前when()子句。

end()另一方面关闭当前choice()块。

也可以在javadocs中看到:


Ank*_*oni -2

end() 将处理任何类型的camel 组件的结束,而 endChoice() 专门用于结束选择组件。

  • 也许我现在胡说八道,但根据我的经验, endChoice 并没有关闭整个选择块。它关闭每个when 块。查看 http://camel.apache.org/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.html 的示例,在您看到的最后一个代码块中else 块之前的 endChoice。 (5认同)