First of all Camel now waits to start the input consumers for all routes until last. What it means is that Camel will prepare all routes beforehand by starting all its services. Then at the very end Camel will open the gates to Camel by starting all the route inputs in one go. This helps the situations where you before could end up having a consumer started which then would pickup messages and route them lets say to another route which was not ready. Now all this is gone.
On top of that we have added two more features to routes as well. You can now control:
- whether a route should be auto started or not
- the order in which routes are started
The former can be used if you have some special routes you want to start manually on demand etc.
The latter helps Camel starting the routes in correct order as well when stopping the routes again when shutting down. The idea is that you assign an unique number to the route that dictates the order, just as you can do with Servlets.
See more details in the Camel documentation.
And btw we also fixed a race condition when Camel was shutting down and you used JMS consumers. It could in some cases make Camel appearing as hanging. Now Camel should be able to shutdown properly when using JMS consumers.