2011-04-30 9 views
12

में रेफरी के माध्यम से फेंकने के अपवाद को परिभाषित करने के लिए एक्सएमएल में परिभाषित मेरे ऊंट मार्ग में अपवाद फेंकना है। मिले throwException बयान कैमल 2.3 से उपलब्ध है जो लगता है कि:अपाचे कैमल

<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

आप कर सकते हैं एक्सएमएल –

+0

मुझ पर शर्म आना; उदाहरण के लिए उदाहरणों को ढूंढने के लिए ऊंट-वसंत के स्रोत कोड की src/test/java निर्देशिका में भी देखें; धन्यवाद। – Archer

4

संस्करण 2.16.0 के बाद से कर सकते हैं वहाँ वैकल्पिक अपवाद संदेश के साथ यह करने के लिए और अधिक सुरुचिपूर्ण रास्ता है,:

<route> 
    <throwException exceptionType="java.lang.IllegalArgumentException" message="illegal argument found"/> 
</route> 
संबंधित मुद्दे