The Rise and Fall of the Performance Monsters

, by

Introduction Apache Camel has always been committed to delivering top-notch performance. As the development of Camel 4 progressed, so did the dedication to enhancing its performance. In this blog post, we’ll explore the advances made in the pursuit of efficiency, focusing on key improvements introduced between Camel 4.1 and 4.2, with a few important improvements for the upcoming 4.3. Camel 4.1: A Leap Forward in Type Conversion One of the notable enhancements in Camel 4.

Continue reading ❯

FEATURESCAMEL

Change Data Capture with Apache Camel and Debezium

, by

In this article, we will explore how to use Debezium and Apache Camel in conjunction with Quarkus to build a reactive application efficiently and send real-time changes from a database to a destination, such as webservice or message queue or another database. What is Debezium? Debezium is a distributed, event-driven data change platform used to capture data changes in database systems and send them to other systems in real time so that applications can respond to all database insertions, updates and deletions made by other applications.

Continue reading ❯

FEATURESCAMEL

Hunting performance monsters on the back of a Camel

, by

Introduction We are thrilled to share the remarkable advancements in the performance of Apache Camel 4, achieved through our diligent efforts in addressing a critical JVM issue (JDK-8180450). In this article, we will delve into the details of our investigation, the tools employed, and the subsequent optimizations that have propelled Apache Camel 4 to new heights of speed and efficiency. Identifying the Performance Challenge The JVM issue JDK-8180450, known for its potential performance penalties during type checking, became our focal point.

Continue reading ❯

FEATURESCAMEL

Load properties from Vault/Secrets cloud services: introducing Camel Context automatic refresh on secrets updates

, by

Starting from Camel 3.19.0 we have four cloud services supported for loading properties as secrets: AWS Secret Manager Google Cloud Secret Manager Azure Key Vault Hashicorp Vault One of the problems we faced in the development was related to finding a way to automatically refresh the secret value on the secrets update. The main players in the cloud game are providing solutions based on their services: AWS provides multiple ways to be notified about secret updates and secret rotations through AWS Cloudtrail or AWS Cloud events, GCP leverages Google Pubsub to deliver messages with events related to secret, while Azure provides multiple ways of getting notified about events related to a vault in the Azure Key Vault service, mostly by using Azure Eventgrid as an intermediate service.

Continue reading ❯

CAMEL

Load properties from Vault/Secrets cloud services: an update

, by

In Camel 3.16.0 we introduced the ability to load properties from vault and use them in the Camel context. This post aims to show the updates and improvements we’ve done in the last two releases. Supported Services In 3.16.0 we’re supporting two of the main services available in the cloud space: AWS Secret Manager Google Cloud Secret Manager In 3.19.0, to be released, we’re going to have four services available:

Continue reading ❯

CAMEL

Top 10 features of Camel 3.x

, by

At the end of 2019 Camel 3 arrived. Some main features were modularization of the core and support for Java 11. A bunch of other changes were mentioned in Claus Ibsen’s blog: Apache Camel 3 What’s New (top 10) In this blog, we focus on the top 10 of features that arrived since the 3.0 release. As an overview, but also to give some attention to features not everyone is aware of.

Continue reading ❯

CAMEL

Camel 3.16.0 new feature: Load properties from Vault/Secrets cloud services

, by

In the last weeks, together with Claus, we’ve been working on a new feature: loading properties from Vault/Secrets cloud services. It will arrive with Camel 3.16.0, currently on vote and to be released by the end of this week (24/3). This post introduces the new features and provide some examples. Secrets Management in Camel In the past there were many discussions around the possibility of managing secrets in Camel through Vault Services.

Continue reading ❯

CAMEL

Camel 3 Release Stats

, by

Many developers know that Apache Camel is one of the most active Apache projects. Consider the top 3 Apache Code Authors in 2021: Andrea Cosentino: 4,447 commits (352,346 insertions, 399,815 deletions) Claus Ibsen: 2,974 commits (555,245 insertions, 567,896 deletions) Mark Thomas: 2,509 commits (186,889 insertions, 117,182 deletions) The first two places are occupied by Camel committers. In 2021 the Camel project also reached the second place when it’s about the number of commits (9541), just behind Superset.

Continue reading ❯

CAMEL

Introducing the Resume API v2

, by

The need to process larger quantities of data has been a growing concern and necessity within our community. For the last few releases we have been working to create mechanisms to simplify how our users can consume data at scale. Although Camel is no stranger to consuming data at scale, recent trends in computing and systems architecture introduce the need for behaviors that improve agility, speed and scalability when doing so.

Continue reading ❯

FEATURESCAMEL

Good bye camel-testcontainers! Hello Camel's test-infra

, by

For Camel 3.16.0 we are removing the deprecated container-based test modules and replacing them with a new set of modules called Camel test-infra. They continue to support container-based tests via TestContainers, however they abstract the underlying test infrastructure. One of the great benefits for our project is that they allow us to more easily switch from container-based tests, to external instances. Previously, we would need to create a new test or implement a more complex design if we wanted to test both a container instance and an external service instance (i.

Continue reading ❯

FEATURESCAMEL

Upcoming changes to the consumer on Kafka component

, by

We recently started to review, investigate and fix reliability issues with the Kafka component. As part of that, we refactored the code to avoid problematic concurrency patterns, remove calls to deprecated Kafka client code and simplify the overall maintainability of the code. This led to many changes in the internal implementation of the component, which we will talk about in this blog post. Motivation The ground work related to these changes can be traced back to the following set of issues reported on our Jira.

Continue reading ❯

FEATURESCAMEL

New committers to Apache Camel

, by

We’re happy to announce that our little caravan has been enriched by two new committers. The Camel project warmly welcomes Jiri Ondrusek and Jeremy Ross. Jiri Ondrusek’s has been contributing to Camel, Camel Spring Boot, and Camel Quarkus for a while now, and Jeremy Ross has been doing stellar work on the Salesforce component, his expertise in Salesforce will help us keep up with frequent changes made on that platform.

Continue reading ❯

CAMELCOMMITTERS

Introducing Camel-AWS2-Eventbridge component

, by

In Camel 3.6.0 we will introduce the camel-aws2-eventbridge among others new cool components. The aim of this blog post is showing what you can do with the Eventbridge AWS Service and the related camel component. What is AWS Eventbridge? The definition from the AWS official website is the following: Amazon EventBridge is a serverless event bus that makes it easy to connect applications together using data from your own applications, integrated Software-as-a-Service (SaaS) applications, and AWS services.

Continue reading ❯

CAMEL