问题
Have to throw an exception in my camel route defined in XML. Found throwException
statement available from Camel 2.3 which looks like:
<throwException ref="forced"></throwException>
However, I don't know how to define forced
exception class to be thrown. Since same exception could be thrown couple of times with different exception messages - would be good to know if throwException
has some other form of definition so exception class and exception message are defined in-place.
回答1:
The ref is just a reference to a so you can do
<bean id="forced" class="java.lang.IllegalArgumentException">
<constructor-arg index="0" value="This is forced"/>
</bean>
<camelContext ...>
...
</camelContext>
回答2:
Since version 2.16.0 there is more elegant way to do it, with optional exception message:
<route>
<throwException exceptionType="java.lang.IllegalArgumentException" message="illegal argument found"/>
</route>
来源:https://stackoverflow.com/questions/5839612/how-to-define-exception-to-be-thrown-through-ref-in-apache-camel