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

Reply via email to