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 [email protected]

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


Reply via email to