我正在从camle 2迁移到camle 3,配置如下
<onException>
<exception>com.sample</exception>
<redeliveryPolicy disableRedelivery="true"/>
<handled>
<constant>true</constant>
</handled>
<log message="got here, before predict, ${exchangeProperty.firstCall}" loggingLevel="INFO"/>
<choice>
<when>
<method>operation</method>
<bean ref="Procs" method="SampleCommentRequestForError"/>
<setProperty propertyName="firstCall">
<constant>false</constant>
</setProperty>
<log message="got here, after predict, ${exchangeProperty.firstCallOf}" loggingLevel="INFO"/>
<to uri="direct:sample-comment"/>
</when>
</choice>
<bean ref="abc_errorhandler" method="abcException"/>
</onException>
并获取以下异常:无法在以下位置创建路由route-nsm-client-call:〉〉〉OnException[[com.sample] -〉[Log[在预测之前到达此处,${exchangeProperty.firstCall],选择[[When[bean{abc} [From[direct:bbc-call -〉...因为Bean语言需要bean、beanType或ref参数
Caused by: java.lang.IllegalArgumentException: Bean language requires bean, beanType, or ref argument
有什么想法吗?
1条答案
按热度按时间vx6bjr1n1#
这将运行camel 2.x操作,但如果您尝试升级现有代码的camel 3.x。因此,在这种情况下,您需要将此代码更改为类似以下示例的代码。但不是myBean提供整个类包路径。
请尝试以下示例代码。
欲知更多详情,请查看以下官方网站..
https://camel.apache.org/components/3.17.x/languages/bean-language.html