[ 
https://issues.apache.org/activemq/browse/CAMEL-860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45206#action_45206
 ] 

Claus Ibsen commented on CAMEL-860:
-----------------------------------

Thanks for the report. 

I looked into it and yes the code is a bit "tricky" in the DLC. It actually 
restores the exception in the incrementRedeliveryCounter method.

However I feel the code could be a bit more "less surprising" so I am re 
factoring it a bit (based on your suggestions)

> DeadLetterChannel does not set the EXCEPTION_CAUSE_PROPERTY
> -----------------------------------------------------------
>
>                 Key: CAMEL-860
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-860
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 1.4.0
>         Environment: Windows XP,  JDK 6
>            Reporter: dario sanna
>            Assignee: Claus Ibsen
>   Original Estimate: 5 minutes
>  Remaining Estimate: 5 minutes
>
> The DeadLetterChannel does not set the EXCEPTION_CAUSE_PROPERTY.
> It looks like a bug in the method:
> public boolean process(final Exchange exchange, final AsyncCallback callback, 
> final RedeliveryData data) 
> The property is set by getting the Exception from the exchange:
> exchange.setProperty(EXCEPTION_CAUSE_PROPERTY, exchange.getException());
> but several lines before the Exception ist set to null in exchange:
> if (exchange.getException() != null) {
>                 Throwable e = exchange.getException();
>                 exchange.setException(null); // Reset it since we are 
> handling it.
> to fix the bug, i think it is simply done by preserving the Throwable like 
> this
> Throwable e = exchange.getException();
> if (exchange.getException() != null) {
>                 exchange.setException(null); // Reset it since we are 
> handling it.
> ...
> exchange.setProperty(EXCEPTION_CAUSE_PROPERTY, e);

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to