Announcing Camel in Action

It seems like a long time since Hadrian got the ball rolling which I am now happy to be able to announce officially.

Apache Camel is another great project which takes the next step and has a book being published.

That is why I am proud to part of that with my two co authors: Hadrian and Jonathan Anstey. We are writing the book title - Camel in Action, to be published by Manning. Yes its another great book in the action series.

Today the book gone MEAP which means the first 4 chapters is available online. You can read more at Manning what MEAP is. But in terms of Camel you should know that a lot of great documentation and material on Camel itself will go into that book.

For example if you are looking for how to test with Camel, then we got chapter 5 which has 30+ pages on this subject. Actually chapter 5 is online right now.

Since the chapters are not officially finished yet, you can read then in draft form and be able to provide feedback and help influence the book as well. Please use the manning author online forum for this.

Me personally is currently busy writing yet another chapter which is chapter 7 on using beans with Camel.


Apache Camel alternatives

Just wanted to let you know that Gunnar Hillert wrote a nice blog entry with a brief overview of other projects in the integration space.

Take a look at his blog at Apache Camel alternatives.


Getting started with Apache Camel webinar

This morning I did brew a kettle of coffee and had a danish (hint: its bread) ready for breakfast.

Then I fired up Firefox and hit this url which have a new webinar listed - Getting started with Camel: FUSE Mediation Router. You find the webinar under the archived section.

A colleague of mine Scott Cranton (Progress Software) does a great presentation in about 90 minutes. He does a fantastic introduction what Camel is, and explains it really well with diagrams and an example we all can relate to. If you are new to Camel or have the 15 minutes he used to cover this I encourage you to take a look. After all you have to do is to have a cup of coffee ready and then sit back and view and listen.

Then he goes on with live demos where he shows how to use Camel to solve real problems that he have encountered at FUSE customers. He does all that from inside Eclipse so you are going to see live code and how Camel works well in Eclipse as developer environment.

At the end there are questions from the audience which may give answers to some of your questions as well.

Scott mention that there is a 2nd webinar on the road. Yes its the next logical step where Dan Van Santeen shows how to deploy and run Camel in other containers such as Apache ServiceMix etc. The link for this webinar is here.

PS: Using Safari the webinar did not output sound, so I switched to use FireFox and it worked.


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.