camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bach Christian" <Christian.B...@six-group.com>
Subject Dead Letter Queue, Exception Preservation Question.
Date Wed, 26 Aug 2009 11:46:28 GMT
Heya 

How do I make Camel preserve the caught exception when putting a failed
exchange into a dead letter queue ? The below Camel code on execution,
clears the exception out. Is there a way to have exchanges in a dead
letter queue which have the original exception still set, so we can
report the particular exception which caused the exchange to fail, once
we take it off the queue ?

/**
     * All redelivery attempts failed so move the exchange to the dead
letter queue
     */
    protected void deliverToFailureProcessor(final Processor processor,
final Exchange exchange,
                                             final RedeliveryData data)
{
        // we did not success with the redelivery so now we let the
failure processor handle it
        // clear exception as we let the failure processor handle it
        exchange.setException(null);

        if (data.handledPredicate != null &&
data.handledPredicate.matches(exchange)) {
            // its handled then remove traces of redelivery attempted
            exchange.getIn().removeHeader(Exchange.REDELIVERED);
            exchange.getIn().removeHeader(Exchange.REDELIVERY_COUNTER);
        } else {
            // must decrement the redelivery counter as we didn't
process the redelivery but is
            // handling by the failure handler. So we must -1 to not let
the counter be out-of-sync
            decrementRedeliveryCounter(exchange);
        }

Any help appreciated, thx, and regards, Christian. 
 
This message is for the named person's use only. It may contain confidential, proprietary
or legally privileged information. If you receive this message in error, please notify the
sender urgently and then immediately delete the message and any copies of it from your system.
Please also immediately destroy any hardcopies of the message. 
The sender's company reserves the right to monitor all e-mail communications through their
networks.

Mime
View raw message