我有路线:
from(SU_NAME)
.choice()
.when(STATUS_IS_OK)
.to("xslt:xsl/RemoveNode.xsl")
.split().tokenizeXML("Event", "Header").to(XP_NAME)
.otherwise()
.dynamicRouter(method(router, "slip"))
.end();
如果我删除拆分器,我的一切工作正常,但在我的路线中让它给我:
java.lang.Error: Unresolved compilation problem:
The method otherwise() is undefined for the type ExpressionNode
我需要拆分器作为路线的一部分,你能帮助我吗?我明白应该选择ChoiceDefinition而不是ExpressionNode,而不是如何修改代码才能得到它。
答案 0 :(得分:2)
请参阅此常见问题解答 - 为什么我不能在Java Camel路由中使用/何时使用? http://camel.apache.org/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.html
答案 1 :(得分:0)
from(SU_NAME)
.choice()
.when(STATUS_IS_OK)
.to("xslt:xsl/RemoveNode.xsl")
.split().tokenizeXML("Event", "Header")
.to(XP_NAME)
.end() /* <-- explicitly end the split here, that should help */
.otherwise()
.dynamicRouter(method(router, "slip"))
.end();