2009-10-04

Apache Camel 2.1 - Improved startup

Apache Camel 2.1 is coming along real nice. After the big overhaul of the management I have turned my attention to make Camel more robust on startup and shutdown.

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.

2 comments:

Rich said...

Hey, would you, or someone else on the Camel team, be willing to do a 10-15 minute interview about Camel for Feathercast? I'm pretty sure we haven't done one yet? rbowen at Apache dot org.

Claus Ibsen said...

Hi Rich

You have a great show with the feathercast podcast. Yeah lets work on an interview. I have mailed you with details.