You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "Boller, Stefan" <st...@sap.com> on 2016/05/18 17:42:35 UTC
FW: Meaning of Exchange Property CamelFailureHandled
Hi Camel friends,
Can anybody explain the meaning of the Exchange Property "CamelFailureHandled"? Especially, what's the difference to "CamelExceptionHandled" and "CamelErrorHandlerHandled"?
I don't know, if it's a bug, but I found the following method in RedeliveryErrorHandler ( 2.16.2), which is called in method prepareExchangeAfterFailure, if the failure is not handled:
private void prepareExchangeAfterFailureNotHandled(Exchange exchange) {
log.trace("This exchange is not handled or continued so its marked as failed: {}", exchange);
// exception not handled, put exception back in the exchange
exchange.setProperty(Exchange.ERRORHANDLER_HANDLED, Boolean.FALSE);
exchange.setException(exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class));
// and put failure endpoint back as well
exchange.setProperty(Exchange.FAILURE_ENDPOINT, exchange.getProperty(Exchange.TO_ENDPOINT));
// and store the route id so we know in which route we failed
UnitOfWork uow = exchange.getUnitOfWork();
if (uow != null && uow.getRouteContext() != null) {
exchange.setProperty(Exchange.FAILURE_ROUTE_ID, uow.getRouteContext().getRoute().getId());
}
}
I wonder, why the "CamelFailureHandled" is not removed like the "CamelErrorHandlerHandled". At the beginning of the method prepareExchangeAfterFailure in method setFailureHandled the exception is removed from the exchange and the property "CamelFailureHandled" is set. In my point-of-view both methods should be symmetric and CamelFailureHandled should also be removed in prepareExchangeAfterFailureNotHandled. What do you think?
Best regards,
STefan
Dr. Stefan Boller
Development Architect, HANA Cloud Integration,
SAP SE, Dietmar-Hopp-Allee 16, 69190, Walldorf, Germany
T +49 6227 7-67168, M +49 151 62345455, E stefan.boller@sap.com
Please consider the impact of the environment before printing this e-mail.
Pflichtangaben/Mandatory Disclosure Statement:
http://www.sap.com/company/legal/impressum.epx/
Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse oder sonstige vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfältigung oder Weitergabe der E-Mail ausdrücklich untersagt. Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail.
Vielen Dank.
This e-mail may contain trade secrets or privileged, undisclosed, or otherwise confidential information. If you have received this e-mail in error, you are hereby notified that any review, copying, or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal.
Thank you for your cooperation