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

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 15 Jun @ 10:17 PM by Hadrian Zbarcea | 0 comments

Camel 1.6.1 release

Welcome to the 1.6.1 release which approx 93 issues resolved (new features, improvements and bug fixes such as...)

  • Performance enhancement when sending high load of messages through Camel
  • Fixes for thread safety for LDAP, Validation, JAXB data format.
  • Use Nexus for releases.
  • Fixed issue with start/stop state machine.
  • Upgraded to CXF 2.2.
  • Security improvements for Jetty.
  • HL7 fixes on Windows platforms.
  • Fixes for header propagation in Bean component.
  • Fixes for using injected Endpoint.
  • Message Exchange Pattern can now be changed directly in the DSL.

Many thanks to the Camel community for its active involvement.
The Camel Riders

Posted at 19 May @ 9:56 AM by Hadrian Zbarcea | 0 comments

Welcome to the the Camel 2.0-M1 release, the first milestone release of the new Apache Camel 2.0 project. We know many of you were expecting it. While it is just the first milestone release and a few changes are still in the pipeline, most of the API changes are in, so that you won't have to migrate twice. The core and most of the components you used for quite a while now are stable.

So what's new? Quite a lot. With about 368 issues resolved (new features, improvements and bug fixes) it is the largest change set in Camel's history. The apache-camel-2.0-M1 version comes with:

Enjoy,
The Camel Riders

Posted at 17 Mar @ 4:58 PM by Hadrian Zbarcea | 0 comments
Last changed: Feb 18, 2009 02:55 by James Strachan

We are pleased to announce the new Camel 1.6.0 Release which includes the following new and noteworthy features! Get it while its hot!

Welcome to the 1.6.0 release which approx 169 issues resolved (new features, improvements and bug fixes such as...)

  • RedeliveryPolicy added support for ref attribute to reference a existing policy in the Registry
  • major improvements to Jetty for better handling of exception and faults and easier end-user customization how response should be written
  • minor improvements to Http and Mina
  • HTTP supports authentication
  • Mina producer now throws CamelExchangeException in case no response received from remote server when in sync mode (sync=true)
  • SFTP added support for knownhosts, privatekey files and passive mode
  • Added onWhen predicate to Exception Clause
  • Exception Clause is much smarter as it will use caused by exception hierarchy for matching as well (will use bottom ups)
  • Dead Letter Channel now have onRedeliver to allow custom processing an Exchange before its being redelivered. Allowing you to work on the message being sent.
  • Message Exchange Pattern can now be changed directly in the DSL.
Posted at 17 Feb @ 12:35 PM by Hadrian Zbarcea | 0 comments

Apache Camel has successfully completed the infrastructure transition after becoming a TLP. There are still a few wrinkles to iron out on the trunk. During the next few weeks the main focus will be a Camel 1.6 release. We know many of you are waiting for it.

Many thanks again to our growing community. All this is only possible because of your support and contributions.

The Camel Riders

Posted at 03 Feb @ 7:20 AM by Hadrian Zbarcea | 0 comments

Links

Graphic Design By Hiram