Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the early version of the new website
https://camel.apache.org/staging/
We would very much like to receive any feedback on the new site, please join the discussion on the Camel user mailing list.

Camel 2.22.0 Release

New and Noteworthy

Welcome to the 2.22.0 release which resolved 216 issues including new features, improvements and bug fixes.

This release supports only Spring Boot 2. Spring Boot v1 is no longer supported.

 

  • Camel has upgraded from Spring Boot v1 to v2 and therefore v1 is no longer supported. 
  • Upgraded to Spring Framework 5. Camel should work with Spring 4.3.x as well, but going forward Spring 5.x will be the minimum Spring version in future releases. 
  • Upgraded to Karaf 4.2. You may run Camel on Karaf 4.1 but we only officially support Karaf 4.2 in this release.
  • Optimised using toD DSL to reuse endpoints and producers for components where its possible. For example HTTP based components will now reuse producer (http clients) with dynamic uris sending to the same host. See more details in the toD documentation.
  • The File2 consumer with read-lock idempotent/idempotent-changed can now be configured to delay the release tasks to expand the window when a file is regarded as in-process, which is usable in active/active cluster settings with a shared idempotent repository to ensure other nodes dont too quickly see a processed file as a file they can process (only needed if you have readLockRemoveOnCommit=true).
  • Allow to plugin a custom request/reply correlation id manager implementation on Netty4 producer in request/reply mode.
  • The Twitter component now uses extended mode by default to support tweets > 140 characters
  • Rest DSL producer now supports being configured in rest configuration via endpointProperties.
  • The Kafka component now supports HeaderFilterStrategy to plugin custom implementations for controlling header mappings between Camel and Kafka messages.
  • Rest DSL now supports client request validation to validate that Content-Type/Accept headers is possible for the rest service.
  • Camel has now a Service Registry SPI which allow to register routes to a service registry such as consul, etcd, zookeeper using a Camel implementation or Spring Cloud
  • The SEDA component now has a default queue size of 1000 instead of unlimited. 

And these important fixes:

  • Fixed a CXF continuation timeout issue with camel-cxf consumer could cause the consumer to return a response with data instead of triggering a timeout to the calling SOAP client.
  • Fixed camel-cxf consumer doesn't release UoW when using robust oneway operation
  • Fixed using AdviceWith and using weave methods on onException etc. not working. 
  • Fixed Splitter in parallel processing and streaming mode may block, while iterating message body when the iterator throws exception in first invoked next() method call.
  • Fixed Kafka consumer to not auto commit if autoCommitEnable=false.
  • Fixed file consumer was using markerFile as read-lock by default, which should have been none. 
  • Fixed using manual commit with Kafka to provide the current record offset and not the previous (and -1 for first)
  • Fixed Content Based Router in Java DSL may not resolve property placeholders in when predicates

New Enterprise Integration Patterns

New Components

  • camel-as2 - Component used for transferring data secure and reliable over the internet using the AS2 protocol.
  • camel-google-mail-stream - The google-mail component provides access to Google Mail.
  • camel-micrometer - To collect various metrics directly from Camel routes using the Micrometer library.
  • camel-mybatis-bean - Performs a query, insert, update or delete in a relational database using MyBatis.
  • camel-service - Represents an endpoint which only becomes active when the CamelClusterView has the leadership.
  • camel-web3j - The web3j component uses the Web3j client API and allows you to add/read nodes to/from a web3j compliant content repositories.
  • camel-rxjava2 - RxJava2 based back-end for Camel’s reactive streams component
  • camel-testcontainers - Camel support for testcontainers
  • camel-testcontainers-spring - Camel unit testing with Spring and testcontainers

New DSL

New Annotations

New Data Formats

New Languages

API breaking

  • The RestProducerFactory has an API change where the RestConfiguration is provided as parameter as well.

Known Issues

Important changes to consider when upgrading

  • Camel has upgraded from Spring Boot v1 to v2 and therefore v1 is no longer supported. Migrating from SB1 to SB2 may require changes, see the Spring Boot v1 to v2 migration documentation for details.
  • Upgraded to Spring Framework v5 as default. Support for Spring Framework v4.3 is deprecated and not recommended to be used.
  • Upgraded to Karaf 4.2. You may run Camel on Karaf 4.1 but we only officially support Karaf 4.2 in this release. 
  • Unit testing Camel with Spring Boot and extending the base classes CamelTestSupport or CamelSpringTestSupport is now throwing an exception as this has never been intended/support. Instead use the CamelSpringBootRunner JUnit runner, and do not extend a base class.
  • The file consumer has changed to use readLock=none as default instead of readLock=markerFile. Documentation already indicated that readLock=none was the default.
  • The SEDA component now has a default queue size of 1000 instead of unlimited. 
  • Upgraded camel-bean-validator to Bean Validation API 2.0 (JSR 380 - Bean Validation 2.0) is part of JEE 8, and as therefore camel 2.22.0 may not be running on Java EE 7 server.

 

Getting the Distributions

Binary Distributions

Description

Download Link

PGP Signature file of download

Windows Distribution

apache-camel-2.22.0.zip

apache-camel-2.22.0.zip.asc

Unix/Linux/Cygwin Distribution

apache-camel-2.22.0.tar.gz

apache-camel-2.22.0.tar.gz.asc

The above URLs use redirection

The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using FireFox

Source Distributions

Description

Download Link

PGP Signature file of download

Source (zip)

apache-camel-2.22.0-src.zip

apache-camel-2.22.0-src.zip.asc

Getting the Binaries using Maven 2

To use this release in your maven project, the proper dependency configuration that you should use in your Maven POM is:

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-core</artifactId>
  <version>2.22.0</version>
</dependency>

Git Tag Checkout

git clone https://git-wip-us.apache.org/repos/asf/camel.git
cd camel
git checkout camel-2.22.0

Changelog

For a more detailed view of new features and bug fixes, see the:

© 2004-2015 The Apache Software Foundation.
Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram