java camel dsl,apache-camel – 骆驼Java DSL选择中的选择

我希望有

_ from( A )

_ .split()...

_ .choice() //Choice 1

_ .when( predicate )

_ .process()

_ .choice() // Choice 2

_ .when( x )

_ .to( X )

_ .otherwise()

_ .to( Y )

_ .end() // to terminate inner choice

_ .endchoice() // tell camel we're back in the outer-choice - gets exception

_ .otherwise() // Choice 1

_ .to( Z )

_ .end()

但我在endChoice()上得到运行时异常

java.lang.ClassCastException: org.apache.camel.model.SplitDefinition cannot be cast to org.apache.camel.model.ChoiceDefinition

没有它我得到编译时错误

我怀疑end()结束了内部和外部选择,我只希望它结束​​内部选择.

不放在end()使得它将第二个()作为内部选择的扩展.它不是.

我已经找到了解决方法,将第二个选项放在子路径中并将“direct:SUB_ROUTE”放入其中,但如果可以的话,我更愿意使用上面概述的平面结构.有没有办法在选择中实现选择,还是只是Java DSL的限制?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值