[
https://issues.apache.org/activemq/browse/CAMEL-901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46587#action_46587
]
Claus Ibsen commented on CAMEL-901:
-----------------------------------
#3
Thread adds a nested pipeline that yet again adds a DLC. Then when the exchange
has been failure handled by the inner DLC then its 'thrown' back to the outer
DLC that yet again will try to handle it.
ThreadType#createProcessor adds the nested Pipeline. Maybe we can avoid this.
#4
Because of the nested Pipeline and it's copy result nature it creates a new
exchange id that get's routed by the outer Pipeline, and thus by magic there is
2 messages being routed, and not only one.
> If using thread() processor followed by a pipeline Camel redelivers to the
> wrong processor
> ------------------------------------------------------------------------------------------
>
> Key: CAMEL-901
> URL: https://issues.apache.org/activemq/browse/CAMEL-901
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0
> Reporter: Bela Vizy
> Assignee: Claus Ibsen
> Fix For: 1.5.0
>
> Attachments: BelasErrorHandlerLoggingTest.java, camel-core-test.log
>
>
> Setup:
> Error handler is specified before the thread processor and there are 3
> processor after the thread() call. Third processor fails.
> Bug #1:
> The exchange received by the failed processor (#3) gets redelivered to the
> first processor in the pipe.
> It should be redeliver to #3 (this works without the thread processor).
> Bug #2:
> The specified errorHandler (log:testError) receives the exchange that entered
> processor #1 (first in the pipe).
> See details in the attached unit test. Also take a look at the log4j log
> (copy attached). The 3rd line from the bottom is the log by testError.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.