Apache Camel Updates Kafka Connector
Written by Kay Ewbank   
Tuesday, 05 January 2021

Apache Camel has been updated to version 3.7, and there is also an updated version of the Camel Kafka connector.

Apache Camel is an application integration tool that you can use to define routing and mediation rules in a number of domain-specific languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files. Camel is the most active Apache project in terms of number of commits.

camel2

Camel uses URIs (Uniform Resource Identifiers) to work directly with any kind of Transport or messaging model such as HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF, as well as pluggable Components and Data Format options. It includes several hundred components that are used to access databases, message queues and APIs.

Alongside Camel Core, there are two variants of Camel - Camel K and Camel Quarkus. Camel K is the Kubernetes version, consisting of a native Kubernetes version of the Camel toolkit.

Camel Quarkus is a set of Quarkus extensions. Quarkus is a Java platform offering fast boot times and low memory footprint. It targets both stock JVMs and GraalVM. The project aims to provide the 280+ Camel components as Quarkus extensions. It has been updated to version 1.5 with the main improvement being the addition of CSimple, a new variant of the Simple language. The “C” in its name stands for “compiled” and indeed, the expressions are compiled into Java byte code or native code at application build time.

csimple compiled

The improvements to version 3.7 are aimed at making Camel faster and smaller, and the developers have focused on the built-in Simple scripting language. There's new support for the jOOR language. jOOR is a small Java tool for performing runtime compilation of Java source code in-memory. It has some limitations but generally works well for small scripting code.

The new release also has improvements to compiled simple. The csimple language is parsed into regular Java source code and compiled together with all the other source code, or compiled once during bootstrap via jOOR. It offers advantages over simple language when using dynamic Object-Graph Navigation Language (OGNL) method calls.

Elsewhere the developers have continued work on optimizing camel-core. This time a number of smaller improvements in various areas such as replacing regular expressions with regular Java code when regular expressions were overkill (regexp take up sizeable heap memory)..

The team has also bulked together all the type converters from the core into two classes (source generated). This avoids registering individually each type converter into the type converter registry which saves 20kb of heap memory.

The camel core has been optimized in Camel 3 to be small, slim, and fast on startup. This benefits Camel Quarkus which can do built time optimizations that take advantage of the optimized camel core.

Alongside the improvements to version 3.7, there's a new release of Apache Camel Kafka Connector. Version 0.7.0 is based on the LTS release of Apache Camel 3.7. The main improvement is the addition of new connectors, including AtlasMap which transforms the message using an AtlasMap transformation, and Kubernetes Custom Resources, which performs operations on Kubernetes Custom Resources and provides notifications on deployment changes. There's a new Vert.X Kafka connector that can be used to send and receive messages to and from an Apache Kafka broker using the vert.x Kafka client. Other new connectors include JSON, CSimple, DataSonnet and jOOR.

 camel2

More Information

Apache Camel

Related Articles

Red Hat Launches Quarkus For Kubernetes-Native Apps  

Apache Kafka 2.7 Updates Broker

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


VR Fails Categorized
02/06/2021

Jumping about with your senses filled by a false input can cause you to fall over or interact with the real world in ways that are just plain wrong. VR can be fun, but it can also be dangerous - who k [ ... ]



Notepad++ 8 Released
16/06/2021

A new version of Notepad++ has been released. The updated version of the text editor adds support for ARM64 systems, as well as extending its range beyond x86 and x64 systems.


More News

square

 



 

Comments




or email your comment to: comments@i-programmer.info