On 25/06/2010 06:17, Claus Ibsen wrote:
I think the reason is the scheduler is started before the other routes
has been fully started. And quartz starts very quick.

We could add an option so you can configure a delay option so it can
be started with delay.
It has a startDelayed method:
http://www.quartz-scheduler.org/docs/api/1.8.1/org/quartz/Scheduler.html


However a better solution is to offer this as a feature in Camel which
allows component to register callbacks to be invoked when all the
other stuff have been started, so they can start last.


I have created a ticket to track that
https://issues.apache.org/activemq/browse/CAMEL-2855
In my experience* one always needs to use the delay start features of quartz because it always gets going before its dependents. Even if you have a "start last" feature, unless you make it a complex tree of dependencies you are going to face the situation where quartz (a late starter) is dependent on another late starter and you still have the race condition. Also a start-last feature doesn't work when the thing which quartz depends upon is outside of camel.

So a start-last feature may be a good idea, but I think camel should probably make the delay start features of quartz available too.

Jim

* Which is restricted to using clustered quartz (and hence a persistent store for jobs) outside of camel.

Reply via email to