2011-04-30 69 views
12

必须在XML中定义的驼峰路由中引发异常。发现可从骆驼2.3 throwException声明看起来像:如何定义在Apache Came中通过ref引发的异常

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

不过,我不知道如何定义forced异常类抛出。由于相同的异常可能会抛出几次不同的异常消息 - 如果throwException具有其他一些定义形式,以便异常类和异常消息在原地定义,那么这将非常有用。

回答

16

裁判只是一个参考,所以你可以做

<bean id="forced" class="java.lang.IllegalArgumentException"> 
    <constructor-arg index="0" value="This is forced"/> 
</bean> 

<camelContext ...> 
    ... 
</camelContext> 
+1

你可以也可以在camel-spring的源代码的src/test/java目录中查找如何在XML中使用的示例 – 2011-04-30 07:02:09

+0

对我感到羞耻;)谢谢。 – Archer 2011-04-30 07:56:17

4

由于2.16.0版本有更优雅的方式做到这一点,可选异常消息:

<route> 
    <throwException exceptionType="java.lang.IllegalArgumentException" message="illegal argument found"/> 
</route> 
相关问题