Apache Camel 2.0 released

I am proud that we made it so far today and can announce Apache Camel 2.0 has been released.

This is quoted from the news item
The Camel riders are pleased to introduce the Apache Camel 2.0.0 Release. This is a major overhaul of Camel that took more than a year of efforts and is coming with about 760 issues resolved. We are grateful to the entire community for its involvement. Your hard work and constant attention to details promoted Apache Camel to wider adoption and leadership position in the integration space.

The feature and improvements list is too large to fit here, so please check out the release notes. Note that along with many improvements came a few api changes and migration from the 1.x line, while not too complicated, is not straightforward. The old Camel 1.x branch will still be supported for a while although the upgrade to this hot release is strongly encouraged.

Many thanks to all the contributors who made this release possible. Download Camel now and enjoy the ride!

The Camel Riders

At FUSE we have scheduled to release our version of Camel 2.0, the FUSE Mediation Router 2.0, next month. In addition to the Apache Camel version we will among others include much improved management capabilities in our release.


Quick update on Apache Camel 2.0 release

We had a few setbacks with the build of the release candidate for Apache Camel 2.0.

Hadrian have been working hard to get it resolved and encountered different issues whenever he got one obstacle resolved.

However as this time of writing the release build is in progress and it looks good.

You may wonder why these issues? Yeah it was a few factors such as an Apache infrastructure upgrade causing weird issues with documentation generation and whatnot.

And Maven itself had some issues :) It is fantastic how brittle it becomes, but there are also a ton of various plugins needed for doing a release.

However if all goes well the RC is published today/tomorrow and the Apache voting produce can start.

And if all goes well then it should be out by next week, or at the latest start of next month if any blocker is found in the release candidate.


Identifying bottlenecks with YourKit

First of all I would like to thanks on behalf of the Apache Camel committers, Anton Katilin from YourKit as he was so kind to donate OS licenses to their excellent profiler.

It comes handy as we have planned to look performance tuning Apache Camel 2.0.x.

However it was actually in another matter YourKit proved itself. The FUSE team had identified a performance bottleneck in Camel 1.6.0 in a special situation when using the recipient list EIP together with a simple expression that where using headers with the Integer type. That special cocktail degraded the performance. With the aid of YourKit and digging into the open source code at Apache Camel I was able to identify the bug within the hour.

And YourKit could even help pin pointing that when the recipient list only contains one destination we could avoid using java.util.Scanner as it had an impact on the performance as well.

Working together with the FUSE team quickly resolved the issue and we could reassure the customer with a workaround and that the problem is fixed in the next release. Thanks to our dedicated team of on site consultants we can react quickly and ensure high quality when Camel is used in enterprise scales as this particular customer is.

Well this blog is a praise for YourKit. Installing it is only a breeze on the Mac OS as its just the usual download and drag to applications. And when its starting it can integrate to IDE. That allows me to just start IDEA and find an unit test and click the profile button, thats it!

Then I can browse the YourKit application and see all kinds of stats. It got a "hot spot" button to help quickly pin point quick wins as well.

We have setup a wiki page for the Camel 2.0.x performance tuning experiments. So if you have ideas or want to help out take a look. We got a branch in SVN with the actual code experiments we are doing - and yes we use YourKit to help us.