Apache Camel 2.18.0 release, what is coming
03 Oct 2016The Camel community is actually in the process of releasing the new Apache Camel 2.18.0. This is a big release with a lot of new features and new components. Lets take a deeper look at what is coming.
-
Java 8
This is the first release requiring Java 8. We worked hard on this and we are working on Java 8 code style in the codebase.
-
Automatic Documentation
In Apache Camel 2.18.0 you’ll find new documentation. The components, endpoints, dataformats and languages are now documented completely in automatic way. This is important because in the past the Confluence documentation was often misaligned with respect to the codebase. The documentation is generated, if some modification has been done, during the component/endpoint/dataformat/language build. This feature will be the base for a new website including this material. You can see the generated docs in the
camel-website
folder in the Apache Camel Repository. -
Spring-boot and Wildfly-Swarm support
Camel is now present on the Spring-starter site and on the Wildfly-swarm one. All the new feature related to Spring-boot can be found in the article from Nicola Ferraro’s blog Apache Camel meets Spring-boot. Running Camel on Spring-boot has never been so easy.
-
Hystrix Circuit Breaker and Netflix OSS
This release will have a circuit breaker implementation using the Netflix Hystrix project (with dashboard too).
-
Distributed message tracing with camel-zipkin component
This component is used for tracing and timing incoming and outgoing Camel messages using Zipkin. For more information take a look at the documentation or the Asciidoc file in the Apache Camel repository.
-
Service Call
This provide the feature of calling a remote service in a distributed system where the service is looked up from a service registry of some sorts. Camel won’t need to know where the service is hosted. Camel will lookup the service from from kubernetes, openshift, cloud foundry, zuul, consul, zookeeper etc.
-
New components
- camel-asterisk - For interacting with Asterisk PBX Servers
- camel-cm-sms - For sending SMS messages using SM SMS Gateway.
- camel-consul - For integrating your application with Consul.
- camel-ehcache - For interacting with Ehcache 3 cache.
- camel-flink - Bridges Camel connectors with Apache Flink tasks.
- camel-lumberjack - For receiving logs over the lumberjack protocol (used by Filebeat for instance)
- camel-ribbon - To use Netflixx Ribbon with the Service Call EIP.
- camel-servicenow - For cloud management with ServiceNow.
- camel-telegram - For messaging with Telegram.
- camel-zipkin - For tracking Camel message flows/timings using zipkin.
- camel-chronicle - For interacting with OpenHFT’s Chronicle-Engine.
-
New Dataformats
- camel-johnzon - Apache Johnzon is an implementation of JSR-353 (JavaTM API for JSON Processing).
-
New examples
In this release there will be some new examples. To name a few:
- camel-example-cdi-kubernetes - An example of camel-kubernetes component used to retrieve a list of pod from your Kubernetes cluster. The example is CDI-based.
- camel-example-java8 - Demonstrates the Java DSL with experimental new Java8 lambda support for expression/preidcate/processor’s. We love feedback on this DSL and expect to improved the API over the next couple of releases.
- camel-example-java8-rx - Demonstrates the Java DSL with experimental new Java8 lambda support for typesafe filtering and transforming of messages wit Rx-Java. We love feedback on this DSL and expect to improved the API over the next couple of releases.
-
Important changes
- Karaf 2.4.x is no longer supported. Karaf 4.x is the primary supported OSGi platform.
- Jetty 8.x is no longer supported and camel-jetty8 has been removed
- Spring 4.0 is no longer supported and camel-test-spring40 has been removed
- Spring 3.x is no longer supported
- Upgraded to Spring 4.3.x and Spring Boot 1.4.x (only spring-dm using spring 3.2.x as part of camel-spring in osgi/karaf is still in use - but spring-dm is deprecated and we recommend using blueprint)
- Camel-gae has been removed (was not working anyway)
- MongoDB component is migrated to MongoDB 3.
- The camel-cache module is deprecated, you should use camel-ehcache instead.
- The camel-docker module has been removed from Karaf features as it does not work in OSGi
For more informations about the upcoming release you can read the Camel 2.18.0 Release page. We hope you’ll enjoy this release and obviously feedback are more than welcome, like Contributions.