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


TypeScript 5.4 Adds NoInfer Type
12/03/2024

TypeScript 5.4 has been released, with the addition of a NoInfer utility type alongside preserved narrowing in closures following last assignments. 



Microsoft Is Ending Support For Windows Android Subsystem
07/03/2024

Microsoft has announced that it is ending support for running Android applications under Windows 11. The support will cease next year. This announcement was followed rapidly by Amazon announcing the e [ ... ]


More News

raspberry pi books

 

Comments




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