2011-04-30 12 views
12

Musisz rzucić wyjątek na mojej trasie wielbłąda zdefiniowanej w XML. Znaleziono throwException oświadczenia dostępnego Camel 2.3, który wygląda tak:Jak zdefiniować wyjątek wyrzucony przez odniesienie w Apache Camel

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

Jednak nie wiem jak zdefiniować klasy forced wyjątek zostać wyrzucony. Ponieważ ten sam wyjątek mógł zostać zgłoszony kilka razy z różnymi komunikatami o wyjątkach - dobrze byłoby wiedzieć, czy throwException ma inną formę definicji, więc klasa wyjątków i komunikat wyjątku są zdefiniowane w miejscu.

Odpowiedz

16

sędzią jest tylko odniesienie do tak można zrobić

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

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

Można również zajrzyj do katalogu src/test/java kodu źródłowego camel-spring, aby znaleźć przykłady użycia w XML –

+0

Shame on me;) dzięki. – Archer

4

od wersji 2.16.0 jest bardziej elegancki sposób to zrobić, z opcjonalnym wiadomości wyjątek:

<route> 
    <throwException exceptionType="java.lang.IllegalArgumentException" message="illegal argument found"/> 
</route> 
Powiązane problemy