2012-07-05

Apache Camel 2.10 Released

The Apache Camel 2.10 release is now available for download from Apache and for Maven users in central maven repo.
Apache Camel reaches impressive 2.10 release
The Camel 2.10 release marks a major milestone, not only, its the 10th release on the 2.x baseline, but this release officially supports Java 7. The Camel team have worked hard to ensure this release works well on both Java 6 and 7; which hasn't been a trivial task to ensure. Most noticeably is the fact that Java6 and 7 JRE ships with different versions of JAXB that were not immediately compatible. 

Spring 3.1 is also official supported, and we have a dedicate test suite running on the Apache CI servers doing a full test run using Spring 3.1.

The Camel test kit have been improved by moving the Spring support into a new camel-test-spring component, which means camel-test is a pure Java based test kit (for non Spring users). There is great news for OSGi Blueprint users, as we have introduced a new camel-test-blueprint component for easy unit test with OSGi Blueprint. I have previously blogged about this.

We have also empowered the Camel test kit by making it easier to stub endpoints, or use the auto mock functionality, which now makes it even easier to skip sending to the target endpoint, using the new isMockEndpointsAndSkip method from CamelTestSupport.

The Camel Maven Archetypes got some love. We improved the blueprint archetype which now leverages the new camel-test-blueprint for unit testing. Likewise the camel:run plugin supports running Blueprint projects as well. The java archetype now creates a pure java project (without Spring). And for Scala enthusiasts we have new archetypes for creating new Scala based components and data formats. Also the archetypes now generates a sample unit test as well.

For managing Camel applications with JMX we have improved this to make it much easier to control and lock down the JMX namings of your Camel apps. I have previously blogged about this in detail. Likewise we have ensured that all the Camel EIPs is enlisted in JMX and offers utilization statistics. And we now have aggregate route statistics on the CamelContextMBean for all your routes.

For people using the file and/or ftp component, we now allow you to bridge exceptions happening when trying to pickup new files with the regular Camel error handler from your routes. This can now be done easily by enabling the consumer.bridgeErrorHandler option.

We also now allows you to configure a shared thread pool for your file/ftp routes (consumers), using the new scheduledExecutorService option. This can reduce the number of threads used in your JVM, if you have a lot of file based routes.

For people using Spring property placeholders, we can now bridge to that from Camel, using the new BridgePropertyPlaceholderConfigurer bean which means you do not have to explicit setup Camel property placeholder as well. The caveat is that you must define this as a Spring as Spring Framework is not flexible allowing 3rd parties to integrate more seamless with its property resolver.

So I have saved the best for the last. The Camel community continues to kick-ass, and for this release we have a record high of 18 new components. For example we now support dynamoDB in the AWS components. We also now supports the popular MongoDB database, and you can have fun with the new Twitter and websocket components. There is also a new component for integration with Spring Batch. And if you need CSV / flatfile support then BeanIO is worth a look as well.

And really existing is the new camel-cdi component which we will continue to expand.

The 2.10 release notes have more details whats included, as well a list of all the new components.

The Camel team will continue with Camel 2.11, and keep doing patch releases as well. However with 2.10 being released, then we will slowdown on the 2.8 release, to comply with our statement that we active support the last 2 minor release branches.


2012-07-02

Happy Birthday Apache Camel - Camel turns five years today

Happy 5 years birthday Apache Camel.
Apache Camel turns 5 years today
When does a software project have its birthday, is it the day of its
  • first commit
  • public announcement
  • any first 0.x release (pre 1.0)
  • or at the very first 1.0 release
Well today is July 2th 2012, and 5 years ago Apache Camel 1.0 was released and published to Maven Central.

Apache Camel 1.0 Release at Maven Central
So lets celebrate the birthday of Apache Camel today by marking its been 5 years since the very first 1.0 release hit the streets. The Camel team created a fantastic first release, which I blogged about previously.

Apache Camel 1.0 Release
Just to complete the bullets, so the first commit was done by one of the founders, James Strachan, on March 19th 2007. And its no wonder that it was James who made the first public announcement of Apache Camel on his blog on May 15th 2007. And 3 months later as we know it, Camel 1.0 was released on July 2th 2007.

Over the course of time the Camel team have released many Camel releases.
  • A total of 11 release of the Camel 1.x series.
  • And so far 23 releases (and 3 milestones, and 1 RC) of the Camel 2.x series.
The project has since grown tremendously and today is one of the most popular integration frameworks out there.

In January 2009 the project became a top level project at Apache.

Apache Camel has been presented at many conferences over the years, the first talk was at the Irish Java Tech Conference in November 2007 by James Strachan. Ever since a lot of people have spoken about Camel at conferences, JUGs, webinars and so forth. We have a link collection where you can find some of these presentations.

The popularity of the Camel project keep rising and at the beginning of 2011, the Camel in Action book went into print.  Having a book published by the well respected Manning publication is a testimony of the popularity of the project.
Here today 5 years later the Camel project goes from strength to strengt, as the next couple of chars proves.
Quarterly visitis on the Apache Camel website

Yearly posts on Camel user mailing list
Number of commits on the project
Number of Camel components out of the box
And since the end of 2011 we have added two more committers, and the upcoming Camel 2.10 release adds a whopping of 18 new components. So the chars is continuing the growth.

Last year the first annual conference in its name - CamelOne - took place in Washington DC, and the event took place in Boston this year. 
2nd annual CamelOne conference
All the sessions from 2012 was recorded, and you can find the videos to watch on your leisure. At CamelOne 2012 we had a sneak birthday celebration of Apache Camel, by having a Camel cake.
Camel Birthday Cake at CamelOne 2012
Today the Camel team is busy finalizing on the last bits for the upcoming Apache Camel 2.10 release.

I guess even James Strachan would not have anticipated what he and the fellow creates of Camel set out 5 years ago, would turn into such a successful project, that he gets a ride on a real Camel.

James Strachan riding a real Camel