[
https://issues.apache.org/activemq/browse/CAMEL-794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45014#action_45014
]
magyardude edited comment on CAMEL-794 at 8/17/08 3:24 PM:
----------------------------------------------------------
More digging...
I attached 2 unit tests. The extra is that I'm counting the actual execution of
the processor.
The first is the simpler test (BelasThreadErrorHandlerTest1.java). It
demonstrates that the exchange gets delivered 1 less times than the number
specified in the errorHandler statement. This happens even without the thread
processor. By the way am I right here? We mean "re"-delivery, meaning executing
the processor, where the failure occurred, once (failure) + plus the number of
"re" times, right? Btw with zero doesn't even call the processor.
The second unit test is about the thread processor behavior
(BelasThreadErrorHandlerTest1.java). The error handlig behavior is different
depending where you put the errorHandler call inside the route: before or
after. If it comes before the only problem is the one less re-delivery (see
above in the first unit test). If you put the errorHandler spec after the
thread processor it gets ignored and Camel will redeliver 5 times followed by
the default DLC (one less again because 6 is the default).
was (Author: magyardude):
More digging...
I attached 2 unit tests. The first is the simpler
(BelasThreadErrorHandlerTest1.java). It demonstrates that the exchange gets
delivered 1 less times than the number specified in the errorHandler statement.
This happens even without the thread processor. By the way am I right here? We
mean "re"-delivery, meaning executing the processor, where the failure
occurred, once (failure) + plus the number of "re" times, right? Btw with zero
doesn't even call the processor.
The second unit test is about the thread processor behavior
(BelasThreadErrorHandlerTest1.java). The error handlig behavior is different
depending where you put the errorHandler call inside the route: before or
after. If it comes before the only problem is the one less re-delivery (see
above in the first unit test). If you put the errorHandler spec after the
thread processor it gets ignored and Camel will redeliver 5 times followed by
the default DLC (one less again because 6 is the default).
> Pipeline with thread() processor also redelivers following the default policy
> independently from the preset errorhadling
> --------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-794
> URL: https://issues.apache.org/activemq/browse/CAMEL-794
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 1.4.0
> Reporter: Bela Vizy
> Fix For: 1.5.0
>
> Attachments: BelasThreadErrorHandlerTest1.java,
> BelasThreadErrorHandlerTest2.java
>
>
> When using the thread processor in a simple pipeline, the exchange will be
> redelivered 6 times (default policy) along with the preset errorhandler
> settings. The code below will re-deliver 6 times to the default
> DeadLetterChannel and once to the log:errorTester.
>
> errorHandler(deadLetterChannel("log:errorTester?level=ERROR").maximumRedeliveries(1));
>
> from("seda:whatEver")
> .thread(2)
> .process(new Processor() {
> public void process(Exchange exchange) throws Exception
> {
> System.out.println("### Exchg : " +
> exchange.getExchangeId());
> throw new Exception("Kaboom 2!");
> }
> });
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.