You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by "Walzer, Thomas" <th...@integratix.net> on 2014/05/01 09:39:46 UTC

Re: Manually redeliver dead messages

Hi Marcus,

I assume you already checked this out: https://camel.apache.org/error-handling-in-camel.html
I am not sure what you mean with: „next version of the component“? A new version (e.g. improved parsing) of a bean?
You could use a dead letter error handler (set the maximum redeliveries to 1) to move the message to a DLQ. You can then use any routing you can imagine to get it out of the DLQ. Maybe a route with autostart=„false“ that you start manually (after the deployment of the new component) is sufficient. 
If you want it automagically, you could write a trigger file that starts that route (+pollEnrich).
However I don´t see a way how to run a route on deployment of an updated bean (if this is what you need). 
Maybe you could put in some idempotent receiver that checks the version of the component while redelivering.

Cheers, Thomas.


Am 30.04.2014 um 11:16 schrieb marcus <ma...@googlemail.com>:

> Hi there,
> 
> I'm pretty new to camel, however until now it let me do anything I want ,-).
> For the last two days, however I struggled with a problem, and hope you can
> help.
> 
> I am developing a message based application, with several components. Now
> there is one component, that is receiving messages with some strings. this
> component tries to parse the strings. If it cannot parse it, I would like to
> route the message to a dead letter channel and retry it with the next
> version of the component. So I'd like to keep the messages in the dead
> letter queue until I have updated the component. and then retry all the dead
> messages only once. If it fails to parse, put them back in the dead letter
> channel and wait for the next update.
> 
> Do you have an idea how to do this kind of manual redeliver. Like sending
> the message back to the original queue only once.
> 
> until now I have something like the controlbus starting and stopping the
> retrying
> however I don't have a possibility to say to not retry again when they fail
> again.
> 
> 
> Thanks in advance
> 
> 
> 
> 
> --
> View this message in context: http://camel.465427.n5.nabble.com/Manually-redeliver-dead-messages-tp5750721.html
> Sent from the Camel - Users mailing list archive at Nabble.com.