On Tue, Nov 23, 2010 at 2:42 AM, Lorrin Nelson
<[email protected]> wrote:
> The interaction between DefaultErrorHandler retries and 
> DefaultShutdownStrategy seems broken. What I want:
>        * long running infrequent retries. This seems like what 
> DefaultErrorHandler is built for, thanks to it's exponential back-off feature
>        * shutdown as soon as no retry is in-flight
>
> Instead, I get:
>        * DefaultShutdownStrategy wants to wait until all future retries have 
> been attempted! I've configured this to be days! But at least there's a 
> timeout on the DefaultShutdownStrategy, so after a while of waiting around 
> (while no retries are actually occurring), it proceeds.
>        * DefaultShutdownStrategry logs "Timeout occurred. Now forcing the 
> routes to be shutdown now.", but actually does nothing.  The route keeps 
> retrying and Tomcat still can't shutdown.
>
> Is this broken or have I misconfigured somehow?
>

This is the intended behavior. Its generally not a good idea to have
redelivery lasting for days. The exchange then has to be stored in
memory until it has to do redelivery the next day. Its generally
better to try for a limited period, and then fail if still a problem.

We could introduce some option to instruct the error handler to stop
attempt redeliveries if a shutdown has been commenced and then
indicate those exchanges failed by setting an exception on that.

Fell free to create a JIRA for such an enhancement.


> -Lorrin



-- 
Claus Ibsen
-----------------
FuseSource
Email: [email protected]
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to