Hello,

      I tried the Below error Handling using DeadLetterChannel , but
currently I am not getting the exception or error in my processor . I want
to log in DB the message along with the reason it failed , for example JDBC
exception, Null pointer exception , data Validation exception  in some
method etc.


   <bean id="myErrorHandler"
class="org.apache.camel.builder.DeadLetterChannelBuilder">
            <property name="deadLetterUri" value="direct:myErrorRoute"/>
            <property name="redeliveryPolicy"
ref="myRedeliveryPolicyConfig"/>
        </bean>

        <bean id="myRedeliveryPolicyConfig"
class="org.apache.camel.processor.RedeliveryPolicy">
            <property name="maximumRedeliveries" value="1"/>
            <property name="redeliveryDelay" value="5000"/>
            <property name="allowRedeliveryWhileStopping" value="false"/>
        </bean>


<!--  Error Handler Generic one -->
    <route customId="false" id="myErrorRoute" xmlns="
http://camel.apache.org/schema/spring";>
        <from uri="direct:myErrorRoute"/>
        <process  ref="CustomErrorProcessor"/>
        <to uri="mock:end"/>
    </route>

 In the Error Processor is called proper on Exception, But I dont get an
Exception from  exchange object nor Fault from the message object.

i tried the below flags too. exchange.isFailed()  and message.isFault()
but returned false.  While in the Logs I can see the exception printed

2015-08-10 12:19:19,218 [read #8 - Split] DEBUG
DeadLetterChannel              - Failed delivery for (MessageId:
ID-DEACR002901-62175-1439201946611-0-1 on ExchangeId:
ID-DEACR002901-62175-1439201946611-0-10). On delivery attempt: 0 caught:
java.lang.NullPointerException

Failed delivery for (MessageId: ID-DEACR002901-62175-1439201946611-0-1 on
ExchangeId: ID-DEACR002901-62175-1439201946611-0-14). On delivery attempt:
1 caught: java.lang.NullPointerException


How do I get the Origin of the exception in my errorprocessor.


regards,
Felix T

Reply via email to