2017-09-04 11 views
0

私はカスタム例外クラスcustomExceptionを呼び出します。この例外は、呼び出されたときに3つのパラメータ(2つの整数とString)が必要です。Apache camel:throwException文にパラメータを追加する

現在、私は私のcamel.xmlファイル内

:私が欲しい

<onException> 
    <exception>org.apache.camel.http.common.HttpOperationFailedException</exception> 
    <throwException exceptionType="package.path.of.customException" message="custom message" /> 
</onException> 

例外がスローされ、特定の変数(複数可)はnullです。その変数をCamel内でどのように設定することができますか?出来ますか?

答えて

2

カスタムコンストラクタ引数とプロパティ値を持つ別のBeanとして、あなたの例外を定義し、throwExceptionからそれを参照することができます

<bean id="myException" class="package.path.of.customException"> 
    <constructor-arg index="0" value="Custom message"/> 
    <property name="someIntProperty" value="10"/> 
    <property name="anotherIntProperty" value="#{null}"/> 
</bean> 

<camelContext ...> 
    <onException> 
    <exception>org.apache.camel.http.common.HttpOperationFailedException.HttpOperationFailedException</exception> 
    <throwException ref="myException" /> 
    </onException> 
</camelContext> 
関連する問題