2012-01-23 22 views
16

मैं अपाचे कैमल में onException हैंडलर से स्टैकट्रेस प्राप्त करने का प्रयास कर रहा हूँ:स्टैकट्रेस कैमल से प्रसंग onException

<onException> 
      <exception>java.lang.Exception</exception> 
      <handled> 
       <constant>true</constant> 
      </handled> 

      <setHeader headerName="exception"> 
       <simple>${exception}</simple> 
      </setHeader> 
    </onException> 

हालांकि, इसके बाद के संस्करण एकमात्र अपवाद के बजाय पूरे स्टैकट्रेस को दर्शाता है।

मैं समझता हूं कि कैमल एक्सचेंज पर एक संपत्ति के रूप में पकड़े गए अपवाद को कुंजी के साथ स्टोर करता है: Exchange.EXCEPTION_CAUGHT, लेकिन ऊंट संदर्भ मार्ग फ़ाइल से इसे कैसे पुनर्प्राप्त किया जा सकता है?

उत्तर

21

स्टैकट्रैक प्राप्त करने के लिए अपवाद। स्टैकट्रैक का उपयोग करें। इस पृष्ठ पर तालिका में सूचीबद्ध चर देखें: http://camel.apache.org/simple

<simple>${exception.stacktrace}</simple> 

भी एक $ {exception.message} अपवाद संदेश ही उल्लेख करने के लिए नहीं है।

+0

धन्यवाद, यह एक इलाज किया। एक बीन बनाना मेरा दूसरा विकल्प था। –

+0

धन्यवाद क्लॉस। इस पर सिर्फ एक सवाल - क्या 'अपवाद.क्लास' का उपयोग करना भी संभव है? – vikingsteve

+0

ठीक है, मैंने इसका उत्तर दिया - हाँ, यह संभव है। लेकिन सरल अभिव्यक्ति में केवल 'अपवाद' का उपयोग करना लगभग बेहतर है, क्योंकि इससे आपको कक्षा का नाम और संदेश मिल जाता है। – vikingsteve

संबंधित मुद्दे