You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2011/06/19 10:50:47 UTC

[jira] [Updated] (CAMEL-4117) RedeliverErrorHandler - Should make defensive copy of Exchange so redelivery works for using Processor

     [ https://issues.apache.org/jira/browse/CAMEL-4117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated CAMEL-4117:
-------------------------------

    Attachment: CAMEL-4117.patch

Work in progress patch

> RedeliverErrorHandler - Should make defensive copy of Exchange so redelivery works for using Processor
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-4117
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4117
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.7.0
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>             Fix For: 2.8.0, 2.9.0
>
>         Attachments: CAMEL-4117.patch
>
>
> When using redelivery with the Camel error handler, it will by default use the _previous_ exchange when redelivering. This ensures that any changes that was done by the failed attempt does not reflect when a redelivery is performed (eg think like use original message). However this does not apply when end users uses the low level .process in their Camel routes. So if they change the Exchange in the .process and then some error occurs, then that change is redelivered.
> We should consider making the redelivery error handler do a defensive copy of the exchange, so it can redelivery without any changes/side effects. For example this happens when people use .bean or any of the other EIPs. So why not for .process as well?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira