DZone
Integration Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Integration Zone > Apache Camel 2.20 Released - What's New

Apache Camel 2.20 Released - What's New

Learn about the new features that will improve your experience with the new Apache Camel 2.20 release, like more language/framework support and a health check API.

Claus Ibsen user avatar by
Claus Ibsen
·
Oct. 13, 17 · Integration Zone · News
Like (1)
Save
Tweet
6.42K Views

Join the DZone community and get the full member experience.

Join For Free

Apache Camel 2.20 has been released today, and as usual, I am tasked to write a blog about this great new release and the highlights.

Image title

The release has the following highlights.

1) Java 9 Technical Preview Support

We have started our work to support Java 9, and this release is what we call technical preview. The source code builds and runs on Java 9 and we will continue to improve work for official support in the following release.

2) Improved Startup Time

We have found a few spots to optimize the startup time of Apache Camel, so it starts 100 - 200 milliseconds faster.

3) Optimized Core to Reduce Footprint

Many internal optimisations in the Camel routing engine, such as reducing thread contention when updating JMX statistics, reducing internal state objects to claim less memory, and reducing the number of allocated objects to reduce overhead on GC etc, and much more.

4) Improved Spring Boot Support and Preparing for Spring Boot 2

We have improved Camel running on Spring Boot in various ways.

We also worked to make Apache Camel more ready and compatible with the upcoming Spring Boot 2 and Spring Framework 5. Officially support for these is expected in Camel 2.21 release.

5) Improved Spring Lifecycle

Starting and stopping the CamelContext when used with Spring framework (SpringCamelContext) was revised to ensure that the Camel context is started last - when all resources should be available, and stopped first - while all resources are still available.

6) JMS 2.0 Support

The camel-jms component now supports JMS 2.0 APIs.

7) Faster Map Implementation for Message Headers

If you include camel-headersmap component on the classpath, then Camel will auto-detect it on startup and use a faster implementation of case-insenstive map (used by camel message headers).

8) Health-Check API

We have added experimental support for a new health-check API (which we will continue to work on over the next couple of releases). The health checks can be leveraged in cloud environments to detect non-healthy contexts.

9) Cluster API

Introduced an experimental Cluster SPI (which we will continue to work on over the next couple of releases) for high availability contexts, out of the box Camel supports: atomix, consul, file, kubernetes, and zookeeper as underlying clustering technologies through the respective components.

10) RouteController API

Introduced an experimental Route Controller SPI (which we will continue to work on over the next couple of releases) aimed to provide more fine-grained control of routes, out of the box Camel provides the following implementations:

  • SupervisingRouteController which delays startup of the routes after the camel context is properly started and attempt to restart routes that have not been started successfully.

  • ClusteredRouteController which leverages Cluster SPI to start routes only when the context is elected as leader.

11) More Components

As usual, there are a bunch of new components; for example, we have support for calling AWS lambda functions in the camel-aws component. There is also a new JSON validator component, and camel-master is used with the new Cluster API to do route leader election in a cluster. There is 13 new components and 3 new data formats. You can find more details in the Camel 2.20 release notes.

Next Release

We will now start working on the next release, 2.21, which is scheduled for the start of 2018. We are trying to push for a bit quicker release cycle of these bigger Camel releases, so we can go from doing 2 to 3 releases per year. This allows people to quickly pick up new functionality and components etc.

Also, we want to get a release out that officially support Java 9, Spring Boot 2 and all the usual great stuff we add to each release, and what the community contributes.

Spring Framework Apache Camel Release (agency) Spring Boot clustering

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Data Analysis Using Google Cloud Data Studio
  • Demystify the Cybersecurity Risk Management Process
  • The Right Way to Hybridize Your Product Development Technique
  • Image Classification Using SingleStore DB, Keras, and Tensorflow

Comments

Integration Partner Resources

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo