Apache Camel is a powerful open source integration framework based on known Enterprise Integration Patterns with powerful Bean Integration.

Camel lets you create the Enterprise Integration Patterns to implement routing and mediation rules in either a Java based Domain Specific Language (or Fluent API), via Spring based Xml Configuration files or via the Scala DSL. This means you get smart completion of routing rules in your IDE whether in your Java, Scala or XML editor.

Apache Camel uses URIs so that it can easily work directly with any kind of Transport or messaging model such as HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF Bus API together with working with pluggable Data Format options. Apache Camel is a small library which has minimal dependencies for easy embedding in any Java application. Apache Camel lets you work with the same API regardless which kind of Transport used, so learn the API once and you will be able to interact with all the Components that is provided out-of-the-box.

Apache Camel has powerful Bean Binding and integrated seamless with popular frameworks such as Spring and Guice.

Apache Camel has extensive Testing support allowing you to easily unit test your routes.

Apache Camel can be used as a routing and mediation engine for the following projects:

  • Apache ServiceMix which is the most popular and powerful distributed open source ESB and JBI container
  • Apache ActiveMQ which is the most popular and powerful open source message broker
  • Apache CXF which is a smart web services suite (JAX-WS)
  • Apache MINA a networking framework

So don't get the hump, try Camel today!

News

Last changed Nov 25, 2009 02:02 by Hadrian Zbarcea

Welcome to a new maintenance release of Apache Camel. The camel-1.6.2 release comes with approx 101 issues resolved (new features, improvements and bug fixes such as...)

  • Fixes for OSGi bundles.
  • Support multiple camel versions in OSGi containers.
  • Fixed Karaf features for a few components
  • Fixed rollback for transactional routes in camel-cxf.
  • Fixed and improved examples.
  • Fixed issue with start/stop state machine.
  • Logging improvements.
  • Improvements and fixes in multiple components Mail, MINA, IRC, HTTP, JMS.
  • Cleanup of CamelNamespaceHandler.
  • Compatibility with Spring 2.0.x in JMS, Spring, Mail.
  • Removed the uber-jar from the Camel distro.
  • Build system improvements and fixes.

For more details please check the Release Notes.

While we encourage our users to migrate to the new Apache Camel 2.0.0, we recognize that many of you may not be able to do that right away. As a community we discussed the lifetime of the camel-1.x and we agreed to continue support and apply patches and improvements, at least for the foreseable future.

Many thanks to all the contributors who made this release possible.

The Camel Riders.

Posted at Nov 25, 2009 by Hadrian Zbarcea | 0 comments | Edit
Last changed Oct 26, 2009 15:44 by Hadrian Zbarcea

The Apache Camel PMC welcomes Martin Krasser as a new committer.

Martin has been a Camel rider for more than 2 years. In this time he pointed out bugs, submitted patches, contributed to discussions and helped out other users on the mailing lists. We appreciate his outstanding contributions and we look forward to his continued involvement in the future.

Please buy Martin a beer next time you see him .

Hadrian (on behalf of the Camel PMC)

Posted at Oct 26, 2009 by Hadrian Zbarcea | 0 comments | Edit
Last changed Aug 25, 2009 20:51 by Hadrian Zbarcea

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

Posted at Aug 25, 2009 by Hadrian Zbarcea | 1 comment | Edit
Last changed Jul 25, 2009 20:06 by Hadrian Zbarcea

Welcome to the Camel 2.0-M3 Release which approx 109 issues resolved (new features, improvements and bug fixes such as...)

  • Complete removal of specialized Exchange using generics
  • Performance improvements
  • JMS improvements and fixes
  • Fixes for Camel Maven Archetypes.
  • Spring DSL fixes.
  • Added SSL support to Camel IRC
  • Many fixes in the CXF, FTP, Log, Mail and other.
  • Major improvements and fixes in Bindy
  • Removed platforms specific encoding from kits.
  • Fixed issues related to class loading in OSGi.
  • Upgraded to Junit 4.5.

Many thanks to all contributors for the great effort.

The Camel Riders

Posted at Jul 25, 2009 by Hadrian Zbarcea | 0 comments | Edit

We are pleased to introduce the Apache Camel 2.0-M2 release with approx 222 issues resolved. This will probably be the last milestone release and the the final 2.0 will follow soon. The api changed from the 1.x version, but is now stable and we don't anticipate any changes in the upcoming 2.0. If you didn't already start migrating to the 2.0 line, now it's probably a good time to do so.

Among the new features, improvements and bug fixes in this release (from the 1.x version):

  • Introduced type converter registry to allow end users to programmatic get access to this registry
  • major improvements and refactoring of most components (see release notes)
  • RedeliveryPolicy added support for ref attribute to reference a existing policy in the Registry
  • Dead Letter Channel and Exception Clause now have onRedeliver to allow custom processing an Exchange before its being redelivered. Allowing you to work on the message being sent.
  • Multiple inputs can be define as input to routes: from("activemq:queue:order", "file://order").to("bean:handleOrder");
  • Pluggable Class Resolvers SPI for class resolvers allowing third party platforms such as JBoss to provide integration with Camel.
  • Refined API to reduce package tangling.
  • Added fromF and toF in the Java DSL to build uri strings using String.format with arguments, e.g.: fromF("ftp://%s@myserver?password=%s", user, password)..to
  • Improved tooling being able to retrieve more runtime information from the CamelContext
  • Scala DSL is improved
  • Introduced ConsumerTemplate supporting the Polling Consumer EIP
  • Custom endpoints with Spring @ManagedResource is now also registered in the mbean server.
  • The default error handler is changed from Dead Letter Channel to DefaultErrorHandler.
  • Overhaul and improvements to the Try Catch Finally DSLs, so they are on pair with the Exception Clause.
  • Overhaul and improvements to the Intercept DSLs. Added new interceptSendToEndpoint to intercept sending to a given Endpoint.
  • Added the notion of a Channel in the routes.
  • Added support to navigate the routes at runtime, so you can dynamic change or affect the processors in the routes.
  • Introduced a new Async API for asynchronous messaging.
  • Added Failover as load balancer.
  • Added Jackson as supported library for the JSON data format.

Many thanks to everybody who contributed to this major effort.
The Camel riders.

Posted at Jun 15, 2009 by Hadrian Zbarcea | 0 comments | Edit

Links

Graphic Design By Hiram