Apache camel 如何在ApacheCamel中定义通过ref抛出的异常

Apache camel 如何在ApacheCamel中定义通过ref抛出的异常,apache-camel,Apache Camel,必须在XML中定义的骆驼路线中引发异常。从Camel 2.3中找到的throweexception语句如下所示: <throwException ref="forced"></throwException> 但是,我不知道如何定义要抛出的强制异常类。由于同一个异常可能会与不同的异常消息一起抛出几次,因此最好知道throweexception是否有其他形式的定义,以便在适当的位置定义异常类和异常消息 ref只是对a的引用,因此您可以 <bean id="for

必须在XML中定义的骆驼路线中引发异常。从Camel 2.3中找到的
throweexception
语句如下所示:

 <throwException ref="forced"></throwException>


但是,我不知道如何定义要抛出的
强制
异常类。由于同一个异常可能会与不同的异常消息一起抛出几次,因此最好知道
throweexception
是否有其他形式的定义,以便在适当的位置定义异常类和异常消息

ref只是对a的引用,因此您可以

<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>

您还可以查看camel spring源代码的src/test/java目录,找到如何在XML中使用的示例