|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.
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.
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.
or email your comment to: firstname.lastname@example.org