2009-12-04

Apache Camel 2.1 released

Its great news that Apache Camel 2.1 is now GA and thus when we come back at work monday morning the Apache mirrors and maven repos have synced the binaries.

As Hadrian wrote in the announcement on the Camel front page its a big release with a record high of 303 tickets resolved.

Hadrian also highlights some new features and whatnot, and I would like to add to that (in no particular order):

  • Vastly improved startup, where Camel validates for correctness upfront and in case of problems a better error is reported back with details in which and where in the route something is wrong
  • You can control startup order of routes, and whether a route should be auto started or not
  • Fixed some race conditions on shutdown which otherwise would make Camel appear as hung
  • Vastly improved bean component to better pick correct method and/or fail
  • Improved error handling with better onException being triggered
  • File and FTP components is more fault tolerant and have build in workarounds for Windows issues with file system
  • XPath is faster on high concurrent load, greatly reduced contention
  • Added Exchange.FAILURE_ENDPOINT when sending to an endpoint failed, which allows you to use that information in your error handling
  • Added in flight repository which is a great step for supporting graceful shutdown
  • and much more... 
Camel 2.2 is already underway and I think we have about 15 tickets fixed already. My next target for work in 2.2 is to add support for graceful shutdown which should allow you to safely stop Camel without loosing messages. In Camel 2.1 you can use JMX to stop Camel and keep an eye on the in flight registry and if its at 0 then you can stop Camel. You can use JMX to stop routes beforehand so no new messages comes in. So we got all the pieces now, its just a matter of letting Camel figure this out on its own, and with the help from the startup order you can aid Camel in some of the very rare situations where route Y must be stopped before route X etc.

Another area I would love to give some love is thread pool configuration which now is possible, but Camel should have a nice and slick configuration for that. If you got any ideas and requirements for this I would love to hear them.

Okay its friday and the World Cup draft is on now. Take care.

3 comments:

Unknown said...

Congratulations,

We waited for this release impatiently.

Pity it is not yet available on the apache

Claus Ibsen said...

Yeah something is odd with the download servers. I will ask Hadrian to check upon it.

However the zip file is also avail in maven repos as well all the other Camel maven jars. So maven users are not affected at all. Just change the version number and you are all set.

The link to 2.1 zip file
http://repo1.maven.org/maven2/org/apache/camel/apache-camel/2.1.0/

Claus Ibsen said...

Its also in the main dist at Apache
http://www.apache.org/dist/camel/apache-camel/

Its just all the mirrors that appears to not be populated.