Apache Camel 2.21 Released - Whats New

We have just released Apache Camel 2.21 and I will in this blog highlight the noteworthy changes.

This release do NOT support Spring Boot 2.
Support for Spring Boot 2 will come in Camel 2.22,
which we plan to release before summer 2018.

1) Working with large JMS messages 
We have added better support for working with large messages in streaming mode in the JMS component. I have previously blogged about this.

2) FTP supports resume download
The FTP component can now resume downloads. For example if you download very big files, and have connectivity issues, then the FTP consumer will be able to resume the download upon re-connect.

3) FTP with pollEnrich
The FTP component has been improved to work better with the pollEnrich (Content Enricher EIP) to poll in a file on-demand. Now the current thread is used for this in a more synchronous task instead of starting the scheduled scheduler (which the regular consumer uses).

4) FTP activity logging
The FTP component now reports more activity when it downloads, uploads, scan for files etc, which you can see in JMX and in the logs (you can set the logging level). This should help better to track how much has been download/uploaded of the files and what remains.

5) Easier configuration of RabbitMQ
The RabbitMQ component can now be configured on the component level where you can setup broker details, logins, etc so you do not have to repeat this in all the endpoint urls. This is similar to how you use the other messaging components such as JMS.

6) Spring Boot route actuators
The Camel SB actuators is now in read-only mode by default. The route actuator endpoints can have the read-only mode turned off, which allows to manage the lifecycle of the Camel routes. In addition more details can be retrieved such as a XML dump of the routes.

7) Rest DSL API-Doc with examples
The Rest DSL can now also include examples in the DSL which allows to generte the Swagger/OpenAPI doc with examples included.

8) Claim Check EIP
There is a new Claim Check EIP which makes it much easier to store information from the exchange during routing, and then retrieve that later (think it like a push/pop). You can find more detail in the EIP doc.

9) Sage EIP
There is a new Saga EIP for simulating transaction in distributed systems. The Saga EIP has plugins for different Saga services, that orchestrate the transactions.

10) More components
And as usual there are more components. For example there are 2 new AWS services for KMS and MQ. There is also our first component to integrate with crypto currencies.

11) Testing with route coverage
We have added support for running unit tests with route coverage reports turned on. This allows you to check if you have tests that coverage all paths of your routes. Camel tools such as the Camel IDEA plugin will work on adding support for presenting the report, and have indicators in the source code about the coverage (eg like you have for Java code coverage). The Camel Maven Plugin has a goal to output the route coverage.

12) Testing with advice-with output before vs after
When using advice-with we now log the before vs after routes in XML to make it easier to developers to see what their advices have changed in the routes.

There are a bunch of other smaller improvements and other things I have left out, forgot about. You can find more details in the Camel 2.21 release notes.


Heavy training for upcoming Camel talks

I am busy with fitness training to get into shape for a number of upcoming Camel talks I am doing the next 3 to 4 months.

I would like to give a big thank you to Andrea Cosentino and Zoran Regvart for designing and creating these new awesome Apache Camel t-shirts.


After the heavy training I went up for running in the cold and snowy weather here in Denmark.

OS2 meeting in Copenhagen
On next Thursday March 8th I am attending the Danish OS2 meeting in Ballerup, Copenhagen, Denmark. Another Red Hat'er was supposed to give a talk at this event but he had to cancel, and we are not so many danish employees so they contacted me if I could go. So the audience have to endure my technical talk about Apache Camel microservices on Kubernetes.

DevNation Live Webinar
On Thursday March 15th I am doing a webinar hosted by Burr Sutter from Red Hat. The topic is Camel riders in the cloud.
Apache Camel has fundamentally changed the way enterprise Java™ developers think about system-to-system integration by making enterprise integration patterns (EIP) a simple declaration in a lightweight application wrapped and delivered as a single JAR.
In this session, we’ll show you how to bring the best practices from the enterprise integration world together with Linux containers, running on top of Kubernetes/OpenShift, and deployed as microservices, which are both cloud-native and cloud-portable.
The webinar is free to attend and you can register form the DevNation website.

JPoint Moscow
In the beginning of April I am traveling for my first time to Russia, Moscow to attend the JPoint conference and give a talk about developing Camel microservices on Kubernetes.

I will take Mr Camel with me as he don't want to miss the opportunity to drink the great Russian Vodka. And hopefully we'll have Red Hat to sponsor a number of books so we can have giveaways or a book signing.

Red Hat Summit
I will then go to San Francisco in the beginning of May to attend and speak at the Red Hat Summit. I will give a Camel talk and then we are doing two workshops, one about Camel development with APIs and another about the new Fuse Online product (low-code integration platform).

GR8Conf EU
At the end of May I will be at the gr8conf in Copenhagen, where I will give a Camel talk to the Groovy crowd.

Barcelona or Copenhagen in June
And that is not all, the Fuse team is likely going to have a face to face meeting sometime in June so I have to let my calendar be open for that. But hopefully it will fall in place so I have time to submit a paper for the awesome conference in Barcelona. Unfortunately the JDK.IO conference in Copenhagen clashes at the same time, so I cannot be in two places at once. But lets see, maybe they are tired of hearing about Camel's. After all I have been 3 or 4 times at the Barcelona conference.

Hamburg running
And I am going to Hamburg in end of April for my first marathon run. I will travel down there on Friday, so hopefully I can catch up with Bennet Schulz whom works on the Camel IDEA plugin. The run is on Sunday.