我需要在XML定义的Camel路由中抛出异常。从Camel 2.3开始,可以使用throwException
语句,如下所示:
<throwException ref="forced"></throwException>
然而,我不知道如何定义要抛出的forced
异常类。由于相同的异常可能会多次抛出并带有不同的异常消息 - 如果throwException
有其他形式的定义,以便在现场定义异常类和异常消息将是很好的。
我需要在XML定义的Camel路由中抛出异常。从Camel 2.3开始,可以使用throwException
语句,如下所示:
<throwException ref="forced"></throwException>
然而,我不知道如何定义要抛出的forced
异常类。由于相同的异常可能会多次抛出并带有不同的异常消息 - 如果throwException
有其他形式的定义,以便在现场定义异常类和异常消息将是很好的。
ref只是对一个组件的引用,这样你就可以进行操作:
<bean id="forced" class="java.lang.IllegalArgumentException">
<constructor-arg index="0" value="This is forced"/>
</bean>
<camelContext ...>
...
</camelContext>
从2.16.0版本开始,有一种更优雅的方法来实现它,可以选择添加异常消息:
<route>
<throwException exceptionType="java.lang.IllegalArgumentException" message="illegal argument found"/>
</route>