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/
