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
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.