You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by PaSik <to...@poczta.fm> on 2015/05/07 09:24:41 UTC

CamelExceptionCaught not cleared after successful redelivery

Hi, 

Could you guys please help me out with one thing. 

I have a route that has an error handler configured for a specific exception with redelivery settings. When this exception is thrown the redelivery is attempted and succeeds but before the processing is continued only the exception field on the exchange is cleared but not the CamelExceptionCaught property (in RedeliveryErrorHandler). 
The processing is then forwarded to another route through seda that copies the exchange along with the 
CamelExceptionCaught exchange property and it happens so that on this other route a component is used (soap data format, specifically it's the Soap11DataFormatAdapter class) that checks the property and throws the exception on this other route. This looks really weird as I'm getting an exception on a route/thread that never throws one. 

I'm wondering whether this property shouldn't be cleared after successful redelivery. Please let me know if I should register a ticket for this issue. 

Also what would be the suggested way of handling this problem (I'm using version 2.10.7 and don't have the luxury of upgrading to a newer version). I'm thinking about clearing this property manually on entry to the seda route, but maybe there is a better way to handle this. My suggested solution should work because no other component seems to be throwing exceptions using CamelExceptionCaught property in the original route. 

On the other hand maybe it's the soap data format that checks the property that should be fixed? Maybe it should only be reacting to the exceptions set directly on the exchange? 

Or maybe it's me who is doing at all wrong and all the camel components are just fine 😉. 

Thanks, 
Tom

Re: CamelExceptionCaught not cleared after successful redelivery

Posted by Henryk Konsek <he...@gmail.com>.
Hi Tom,

Have you got a chance to check if the issue is still valid for the newer
Camel? 2.10 is reeeally old one and it is very likely that the issue has
been already solved.

Cheers!

czw., 7.05.2015 o 09:26 użytkownik PaSik <to...@poczta.fm> napisał:

> Hi,
>
> Could you guys please help me out with one thing.
>
> I have a route that has an error handler configured for a specific
> exception with redelivery settings. When this exception is thrown the
> redelivery is attempted and succeeds but before the processing is continued
> only the exception field on the exchange is cleared but not the
> CamelExceptionCaught property (in RedeliveryErrorHandler).
> The processing is then forwarded to another route through seda that copies
> the exchange along with the
> CamelExceptionCaught exchange property and it happens so that on this
> other route a component is used (soap data format, specifically it's the
> Soap11DataFormatAdapter class) that checks the property and throws the
> exception on this other route. This looks really weird as I'm getting an
> exception on a route/thread that never throws one.
>
> I'm wondering whether this property shouldn't be cleared after successful
> redelivery. Please let me know if I should register a ticket for this
> issue.
>
> Also what would be the suggested way of handling this problem (I'm using
> version 2.10.7 and don't have the luxury of upgrading to a newer version).
> I'm thinking about clearing this property manually on entry to the seda
> route, but maybe there is a better way to handle this. My suggested
> solution should work because no other component seems to be throwing
> exceptions using CamelExceptionCaught property in the original route.
>
> On the other hand maybe it's the soap data format that checks the property
> that should be fixed? Maybe it should only be reacting to the exceptions
> set directly on the exchange?
>
> Or maybe it's me who is doing at all wrong and all the camel components
> are just fine 😉.
>
> Thanks,
> Tom
>