You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2023/06/21 07:23:25 UTC

[camel] 01/01: CAMEL-18890: Remove camel-vertx-kafka

This is an automated email from the ASF dual-hosted git repository.

nfilotto pushed a commit to branch CAMEL-18890/remove-camel-vertx-kafka
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 7addba127c1fe058c2510a9f78825cfc6728103d
Author: Nicolas Filotto <es...@users.noreply.github.com>
AuthorDate: Wed Jun 21 09:23:17 2023 +0200

    CAMEL-18890: Remove camel-vertx-kafka
---
 .../camel-vertx-kafka-component/pom.xml            |  156 --
 .../vertx/kafka/VertxKafkaComponentConfigurer.java |  688 -------
 .../vertx/kafka/VertxKafkaEndpointConfigurer.java  |  658 -------
 .../vertx/kafka/VertxKafkaEndpointUriFactory.java  |  172 --
 .../configuration/VertxKafkaConfiguration.java     | 1960 --------------------
 .../services/org/apache/camel/component.properties |    7 -
 .../org/apache/camel/component/vertx-kafka         |    2 -
 .../apache/camel/configurer/vertx-kafka-component  |    2 -
 .../apache/camel/configurer/vertx-kafka-endpoint   |    2 -
 .../org/apache/camel/send-dynamic/vertx-kafka      |    2 -
 .../apache/camel/urifactory/vertx-kafka-endpoint   |    2 -
 .../camel/component/vertx/kafka/vertx-kafka.json   |  248 ---
 .../src/main/docs/vertx-kafka-component.adoc       |  237 ---
 .../kafka/DefaultVertxKafkaClientFactory.java      |   54 -
 .../vertx/kafka/VertxKafkaClientFactory.java       |   60 -
 .../component/vertx/kafka/VertxKafkaComponent.java |  174 --
 .../kafka/VertxKafkaConfigurationOptionsProxy.java |   89 -
 .../component/vertx/kafka/VertxKafkaConstants.java |   62 -
 .../component/vertx/kafka/VertxKafkaConsumer.java  |  179 --
 .../component/vertx/kafka/VertxKafkaEndpoint.java  |   80 -
 .../kafka/VertxKafkaHeaderFilterStrategy.java      |   35 -
 .../vertx/kafka/VertxKafkaHeadersPropagation.java  |   72 -
 .../component/vertx/kafka/VertxKafkaProducer.java  |   85 -
 .../vertx/kafka/VertxKafkaSendDynamicAware.java    |  121 --
 .../configuration/BaseVertxKafkaConfiguration.java |   62 -
 .../offset/DefaultVertxKafkaManualCommit.java      |   71 -
 .../DefaultVertxKafkaManualCommitFactory.java      |   30 -
 .../vertx/kafka/offset/VertxKafkaManualCommit.java |   28 -
 .../offset/VertxKafkaManualCommitFactory.java      |   34 -
 .../vertx/kafka/operations/TopicSubscription.java  |   89 -
 .../operations/VertxKafkaConsumerOperations.java   |  198 --
 .../operations/VertxKafkaProducerOperations.java   |  206 --
 .../kafka/serde/VertxKafkaHeaderSerializer.java    |   52 -
 .../kafka/serde/VertxKafkaTypeSerializer.java      |   77 -
 .../vertx/kafka/BaseEmbeddedKafkaTest.java         |   88 -
 .../vertx/kafka/MockConsumerInterceptor.java       |   51 -
 .../vertx/kafka/VertxKafkaAutowireTest.java        |   61 -
 .../vertx/kafka/VertxKafkaBufferConverterTest.java |   89 -
 .../vertx/kafka/VertxKafkaComponentTest.java       |  255 ---
 .../kafka/VertxKafkaConsumerBatchSizeTest.java     |   97 -
 .../vertx/kafka/VertxKafkaConsumerFullTest.java    |  188 --
 .../kafka/VertxKafkaConsumerManualCommitTest.java  |  123 --
 .../kafka/VertxKafkaConsumerSuspendResumeTest.java |  109 --
 .../kafka/VertxKafkaHeadersPropagationTest.java    |  178 --
 .../vertx/kafka/VertxKafkaProducerFullTest.java    |  483 -----
 .../kafka/VertxKafkaSendDynamicAwareTest.java      |   59 -
 .../kafka/VertxKafkaTestHeaderFilterStrategy.java  |   39 -
 .../component/vertx/kafka/VertxKafkaTestUtils.java |   38 -
 .../component/vertx/kafka/VertxKafkaToDTest.java   |   47 -
 .../VertxKafkaConsumerOperationsTest.java          |  232 ---
 .../VertxKafkaProducerOperationsTest.java          |  627 -------
 .../serde/VertxKafkaHeaderSerializerTest.java      |   53 -
 .../kafka/serde/VertxKafkaTypeSerializerTest.java  |   74 -
 .../src/test/resources/log4j2.properties           |   27 -
 .../camel-vertx-kafka-maven-plugin/pom.xml         |  132 --
 .../services/org/apache/camel/other.properties     |    7 -
 .../resources/vertx-kafka-maven-plugin.json        |   14 -
 .../vertx/kafka/GenerateKafkaConfigMojo.java       |  162 --
 .../component/vertx/kafka/config/ConfigField.java  |  443 -----
 .../vertx/kafka/config/ConfigFieldsBuilder.java    |  113 --
 .../vertx/kafka/config/ConfigJavaClass.java        |  412 ----
 .../component/vertx/kafka/config/ConfigUtils.java  |  137 --
 .../vertx/kafka/config/ConfigFieldTest.java        |  306 ---
 .../kafka/config/ConfigFieldsBuilderTest.java      |   80 -
 .../vertx/kafka/config/ConfigJavaClassTest.java    |  115 --
 .../vertx/kafka/config/ConfigUtilsTest.java        |  146 --
 .../test/resources/UnitTestConfiguration.java.txt  |  273 ---
 components/camel-vertx/camel-vertx-kafka/pom.xml   |   72 -
 68 files changed, 11324 deletions(-)

diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/pom.xml b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/pom.xml
deleted file mode 100644
index 5658aeadac3..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/pom.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-vertx-kafka-parent</artifactId>
-        <version>3.21.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-vertx-kafka</artifactId>
-    <packaging>jar</packaging>
-    <name>Camel :: Vert.x :: Kafka (deprecated)</name>
-    <description>Camel Vertx Kafka support</description>
-
-    <properties>
-        <firstVersion>3.7.0</firstVersion>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>io.projectreactor</groupId>
-            <artifactId>reactor-core</artifactId>
-            <version>${reactor-version}</version>
-        </dependency>
-
-        <!-- test -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-kafka</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-1.2-api</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>attach-sources</id>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.camel.maven</groupId>
-                <artifactId>camel-vertx-kafka-maven-plugin</artifactId>
-                <version>${project.version}</version>
-                <executions>
-                    <execution>
-                        <id>generate</id>
-                        <goals>
-                            <goal>generate-kafka-config</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <className>VertxKafkaConfiguration</className>
-                    <additionalCommonConfigs>
-                        <partition.id>
-                            <name>partition.id</name>
-                            <type>INT</type>
-                            <documentation>The partition to which the record will be sent (or null if no partition was specified) or read from a particular partition if set. Header {@link VertxKafkaConstants#PARTITION_ID} If configured,
-                                it will take precedence over this config</documentation>
-                        </partition.id>
-                        <topic>
-                            <name>topic</name>
-                            <type>STRING</type>
-                            <isRequired>true</isRequired>
-                            <isUriPathOption>true</isUriPathOption>
-                            <documentation>Name of the topic to use. On the consumer you can use comma to separate multiple topics. A producer can only send
-                                a message to a single topic.
-                            </documentation>
-                        </topic>
-                    </additionalCommonConfigs>
-                    <additionalConsumerConfigs>
-                        <seek.to.position>
-                            <name>seek.to.position</name>
-                            <type>STRING</type>
-                            <enums>
-                                <param>beginning</param>
-                                <param>end</param>
-                            </enums>
-                            <documentation>Set if KafkaConsumer will read from beginning or end on startup: beginning : read from beginning end : read from end.</documentation>
-                        </seek.to.position>
-                        <seek.to.offset>
-                            <name>seek.to.offset</name>
-                            <type>LONG</type>
-                            <documentation>Set if KafkaConsumer will read from a particular offset on startup. This config will take precedence over seekTo config</documentation>
-                        </seek.to.offset>
-                    </additionalConsumerConfigs>
-                    <overriddenDefaultValues>
-                        <key.serializer>org.apache.kafka.common.serialization.StringSerializer</key.serializer>
-                        <value.serializer>org.apache.kafka.common.serialization.StringSerializer</value.serializer>
-                        <key.deserializer>org.apache.kafka.common.serialization.StringDeserializer</key.deserializer>
-                        <value.deserializer>org.apache.kafka.common.serialization.StringDeserializer</value.deserializer>
-                        <ssl.enabled.protocols>TLSv1.2,TLSv1.3</ssl.enabled.protocols>
-                        <ssl.protocol>TLSv1.2</ssl.protocol>
-                    </overriddenDefaultValues>
-                    <generatedSrcDir>${project.basedir}/src/generated/java</generatedSrcDir>
-                    <parentClassName>BaseVertxKafkaConfiguration</parentClassName>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponentConfigurer.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponentConfigurer.java
deleted file mode 100644
index e6f9cf4030d..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponentConfigurer.java
+++ /dev/null
@@ -1,688 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class VertxKafkaComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    private org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration getOrCreateConfiguration(VertxKafkaComponent target) {
-        if (target.getConfiguration() == null) {
-            target.setConfiguration(new org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration());
-        }
-        return target.getConfiguration();
-    }
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        VertxKafkaComponent target = (VertxKafkaComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "acks": getOrCreateConfiguration(target).setAcks(property(camelContext, java.lang.String.class, value)); return true;
-        case "additionalproperties":
-        case "additionalProperties": getOrCreateConfiguration(target).setAdditionalProperties(property(camelContext, java.util.Map.class, value)); return true;
-        case "allowautocreatetopics":
-        case "allowAutoCreateTopics": getOrCreateConfiguration(target).setAllowAutoCreateTopics(property(camelContext, boolean.class, value)); return true;
-        case "allowmanualcommit":
-        case "allowManualCommit": getOrCreateConfiguration(target).setAllowManualCommit(property(camelContext, boolean.class, value)); return true;
-        case "autocommitintervalms":
-        case "autoCommitIntervalMs": getOrCreateConfiguration(target).setAutoCommitIntervalMs(property(camelContext, int.class, value)); return true;
-        case "autooffsetreset":
-        case "autoOffsetReset": getOrCreateConfiguration(target).setAutoOffsetReset(property(camelContext, java.lang.String.class, value)); return true;
-        case "autowiredenabled":
-        case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
-        case "batchsize":
-        case "batchSize": getOrCreateConfiguration(target).setBatchSize(property(camelContext, int.class, value)); return true;
-        case "bootstrapservers":
-        case "bootstrapServers": getOrCreateConfiguration(target).setBootstrapServers(property(camelContext, java.lang.String.class, value)); return true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
-        case "buffermemory":
-        case "bufferMemory": getOrCreateConfiguration(target).setBufferMemory(property(camelContext, long.class, value)); return true;
-        case "checkcrcs":
-        case "checkCrcs": getOrCreateConfiguration(target).setCheckCrcs(property(camelContext, boolean.class, value)); return true;
-        case "clientdnslookup":
-        case "clientDnsLookup": getOrCreateConfiguration(target).setClientDnsLookup(property(camelContext, java.lang.String.class, value)); return true;
-        case "clientid":
-        case "clientId": getOrCreateConfiguration(target).setClientId(property(camelContext, java.lang.String.class, value)); return true;
-        case "clientrack":
-        case "clientRack": getOrCreateConfiguration(target).setClientRack(property(camelContext, java.lang.String.class, value)); return true;
-        case "compressiontype":
-        case "compressionType": getOrCreateConfiguration(target).setCompressionType(property(camelContext, java.lang.String.class, value)); return true;
-        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration.class, value)); return true;
-        case "connectionsmaxidlems":
-        case "connectionsMaxIdleMs": getOrCreateConfiguration(target).setConnectionsMaxIdleMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "defaultapitimeoutms":
-        case "defaultApiTimeoutMs": getOrCreateConfiguration(target).setDefaultApiTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "deliverytimeoutms":
-        case "deliveryTimeoutMs": getOrCreateConfiguration(target).setDeliveryTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "enableautocommit":
-        case "enableAutoCommit": getOrCreateConfiguration(target).setEnableAutoCommit(property(camelContext, boolean.class, value)); return true;
-        case "enableidempotence":
-        case "enableIdempotence": getOrCreateConfiguration(target).setEnableIdempotence(property(camelContext, boolean.class, value)); return true;
-        case "excludeinternaltopics":
-        case "excludeInternalTopics": getOrCreateConfiguration(target).setExcludeInternalTopics(property(camelContext, boolean.class, value)); return true;
-        case "fetchmaxbytes":
-        case "fetchMaxBytes": getOrCreateConfiguration(target).setFetchMaxBytes(property(camelContext, int.class, value)); return true;
-        case "fetchmaxwaitms":
-        case "fetchMaxWaitMs": getOrCreateConfiguration(target).setFetchMaxWaitMs(property(camelContext, int.class, value)); return true;
-        case "fetchminbytes":
-        case "fetchMinBytes": getOrCreateConfiguration(target).setFetchMinBytes(property(camelContext, int.class, value)); return true;
-        case "groupid":
-        case "groupId": getOrCreateConfiguration(target).setGroupId(property(camelContext, java.lang.String.class, value)); return true;
-        case "groupinstanceid":
-        case "groupInstanceId": getOrCreateConfiguration(target).setGroupInstanceId(property(camelContext, java.lang.String.class, value)); return true;
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": getOrCreateConfiguration(target).setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
-        case "heartbeatintervalms":
-        case "heartbeatIntervalMs": getOrCreateConfiguration(target).setHeartbeatIntervalMs(property(camelContext, int.class, value)); return true;
-        case "interceptorclasses":
-        case "interceptorClasses": getOrCreateConfiguration(target).setInterceptorClasses(property(camelContext, java.lang.String.class, value)); return true;
-        case "isolationlevel":
-        case "isolationLevel": getOrCreateConfiguration(target).setIsolationLevel(property(camelContext, java.lang.String.class, value)); return true;
-        case "kafkamanualcommitfactory":
-        case "kafkaManualCommitFactory": target.setKafkaManualCommitFactory(property(camelContext, org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommitFactory.class, value)); return true;
-        case "keydeserializer":
-        case "keyDeserializer": getOrCreateConfiguration(target).setKeyDeserializer(property(camelContext, java.lang.String.class, value)); return true;
-        case "keyserializer":
-        case "keySerializer": getOrCreateConfiguration(target).setKeySerializer(property(camelContext, java.lang.String.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
-        case "lingerms":
-        case "lingerMs": getOrCreateConfiguration(target).setLingerMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "maxblockms":
-        case "maxBlockMs": getOrCreateConfiguration(target).setMaxBlockMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "maxinflightrequestsperconnection":
-        case "maxInFlightRequestsPerConnection": getOrCreateConfiguration(target).setMaxInFlightRequestsPerConnection(property(camelContext, int.class, value)); return true;
-        case "maxpartitionfetchbytes":
-        case "maxPartitionFetchBytes": getOrCreateConfiguration(target).setMaxPartitionFetchBytes(property(camelContext, int.class, value)); return true;
-        case "maxpollintervalms":
-        case "maxPollIntervalMs": getOrCreateConfiguration(target).setMaxPollIntervalMs(property(camelContext, int.class, value)); return true;
-        case "maxpollrecords":
-        case "maxPollRecords": getOrCreateConfiguration(target).setMaxPollRecords(property(camelContext, int.class, value)); return true;
-        case "maxrequestsize":
-        case "maxRequestSize": getOrCreateConfiguration(target).setMaxRequestSize(property(camelContext, int.class, value)); return true;
-        case "metadatamaxagems":
-        case "metadataMaxAgeMs": getOrCreateConfiguration(target).setMetadataMaxAgeMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "metadatamaxidlems":
-        case "metadataMaxIdleMs": getOrCreateConfiguration(target).setMetadataMaxIdleMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "metricreporters":
-        case "metricReporters": getOrCreateConfiguration(target).setMetricReporters(property(camelContext, java.lang.String.class, value)); return true;
-        case "metricsnumsamples":
-        case "metricsNumSamples": getOrCreateConfiguration(target).setMetricsNumSamples(property(camelContext, int.class, value)); return true;
-        case "metricsrecordinglevel":
-        case "metricsRecordingLevel": getOrCreateConfiguration(target).setMetricsRecordingLevel(property(camelContext, java.lang.String.class, value)); return true;
-        case "metricssamplewindowms":
-        case "metricsSampleWindowMs": getOrCreateConfiguration(target).setMetricsSampleWindowMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "partitionassignmentstrategy":
-        case "partitionAssignmentStrategy": getOrCreateConfiguration(target).setPartitionAssignmentStrategy(property(camelContext, java.lang.String.class, value)); return true;
-        case "partitionid":
-        case "partitionId": getOrCreateConfiguration(target).setPartitionId(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "partitionerclass":
-        case "partitionerClass": getOrCreateConfiguration(target).setPartitionerClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "receivebufferbytes":
-        case "receiveBufferBytes": getOrCreateConfiguration(target).setReceiveBufferBytes(property(camelContext, int.class, value)); return true;
-        case "reconnectbackoffmaxms":
-        case "reconnectBackoffMaxMs": getOrCreateConfiguration(target).setReconnectBackoffMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "reconnectbackoffms":
-        case "reconnectBackoffMs": getOrCreateConfiguration(target).setReconnectBackoffMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "requesttimeoutms":
-        case "requestTimeoutMs": getOrCreateConfiguration(target).setRequestTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "retries": getOrCreateConfiguration(target).setRetries(property(camelContext, int.class, value)); return true;
-        case "retrybackoffms":
-        case "retryBackoffMs": getOrCreateConfiguration(target).setRetryBackoffMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "saslclientcallbackhandlerclass":
-        case "saslClientCallbackHandlerClass": getOrCreateConfiguration(target).setSaslClientCallbackHandlerClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "sasljaasconfig":
-        case "saslJaasConfig": getOrCreateConfiguration(target).setSaslJaasConfig(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslkerberoskinitcmd":
-        case "saslKerberosKinitCmd": getOrCreateConfiguration(target).setSaslKerberosKinitCmd(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslkerberosmintimebeforerelogin":
-        case "saslKerberosMinTimeBeforeRelogin": getOrCreateConfiguration(target).setSaslKerberosMinTimeBeforeRelogin(property(camelContext, long.class, value)); return true;
-        case "saslkerberosservicename":
-        case "saslKerberosServiceName": getOrCreateConfiguration(target).setSaslKerberosServiceName(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslkerberosticketrenewjitter":
-        case "saslKerberosTicketRenewJitter": getOrCreateConfiguration(target).setSaslKerberosTicketRenewJitter(property(camelContext, double.class, value)); return true;
-        case "saslkerberosticketrenewwindowfactor":
-        case "saslKerberosTicketRenewWindowFactor": getOrCreateConfiguration(target).setSaslKerberosTicketRenewWindowFactor(property(camelContext, double.class, value)); return true;
-        case "sasllogincallbackhandlerclass":
-        case "saslLoginCallbackHandlerClass": getOrCreateConfiguration(target).setSaslLoginCallbackHandlerClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslloginclass":
-        case "saslLoginClass": getOrCreateConfiguration(target).setSaslLoginClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslloginrefreshbufferseconds":
-        case "saslLoginRefreshBufferSeconds": getOrCreateConfiguration(target).setSaslLoginRefreshBufferSeconds(property(camelContext, short.class, value)); return true;
-        case "saslloginrefreshminperiodseconds":
-        case "saslLoginRefreshMinPeriodSeconds": getOrCreateConfiguration(target).setSaslLoginRefreshMinPeriodSeconds(property(camelContext, short.class, value)); return true;
-        case "saslloginrefreshwindowfactor":
-        case "saslLoginRefreshWindowFactor": getOrCreateConfiguration(target).setSaslLoginRefreshWindowFactor(property(camelContext, double.class, value)); return true;
-        case "saslloginrefreshwindowjitter":
-        case "saslLoginRefreshWindowJitter": getOrCreateConfiguration(target).setSaslLoginRefreshWindowJitter(property(camelContext, double.class, value)); return true;
-        case "saslmechanism":
-        case "saslMechanism": getOrCreateConfiguration(target).setSaslMechanism(property(camelContext, java.lang.String.class, value)); return true;
-        case "securityprotocol":
-        case "securityProtocol": getOrCreateConfiguration(target).setSecurityProtocol(property(camelContext, java.lang.String.class, value)); return true;
-        case "securityproviders":
-        case "securityProviders": getOrCreateConfiguration(target).setSecurityProviders(property(camelContext, java.lang.String.class, value)); return true;
-        case "seektooffset":
-        case "seekToOffset": getOrCreateConfiguration(target).setSeekToOffset(property(camelContext, java.lang.Long.class, value)); return true;
-        case "seektoposition":
-        case "seekToPosition": getOrCreateConfiguration(target).setSeekToPosition(property(camelContext, java.lang.String.class, value)); return true;
-        case "sendbufferbytes":
-        case "sendBufferBytes": getOrCreateConfiguration(target).setSendBufferBytes(property(camelContext, int.class, value)); return true;
-        case "sessiontimeoutms":
-        case "sessionTimeoutMs": getOrCreateConfiguration(target).setSessionTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "socketconnectionsetuptimeoutmaxms":
-        case "socketConnectionSetupTimeoutMaxMs": getOrCreateConfiguration(target).setSocketConnectionSetupTimeoutMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "socketconnectionsetuptimeoutms":
-        case "socketConnectionSetupTimeoutMs": getOrCreateConfiguration(target).setSocketConnectionSetupTimeoutMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "sslciphersuites":
-        case "sslCipherSuites": getOrCreateConfiguration(target).setSslCipherSuites(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslenabledprotocols":
-        case "sslEnabledProtocols": getOrCreateConfiguration(target).setSslEnabledProtocols(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslendpointidentificationalgorithm":
-        case "sslEndpointIdentificationAlgorithm": getOrCreateConfiguration(target).setSslEndpointIdentificationAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslenginefactoryclass":
-        case "sslEngineFactoryClass": getOrCreateConfiguration(target).setSslEngineFactoryClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeypassword":
-        case "sslKeyPassword": getOrCreateConfiguration(target).setSslKeyPassword(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeymanageralgorithm":
-        case "sslKeymanagerAlgorithm": getOrCreateConfiguration(target).setSslKeymanagerAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystorecertificatechain":
-        case "sslKeystoreCertificateChain": getOrCreateConfiguration(target).setSslKeystoreCertificateChain(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystorekey":
-        case "sslKeystoreKey": getOrCreateConfiguration(target).setSslKeystoreKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystorelocation":
-        case "sslKeystoreLocation": getOrCreateConfiguration(target).setSslKeystoreLocation(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystorepassword":
-        case "sslKeystorePassword": getOrCreateConfiguration(target).setSslKeystorePassword(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystoretype":
-        case "sslKeystoreType": getOrCreateConfiguration(target).setSslKeystoreType(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslprotocol":
-        case "sslProtocol": getOrCreateConfiguration(target).setSslProtocol(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslprovider":
-        case "sslProvider": getOrCreateConfiguration(target).setSslProvider(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslsecurerandomimplementation":
-        case "sslSecureRandomImplementation": getOrCreateConfiguration(target).setSslSecureRandomImplementation(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltrustmanageralgorithm":
-        case "sslTrustmanagerAlgorithm": getOrCreateConfiguration(target).setSslTrustmanagerAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltruststorecertificates":
-        case "sslTruststoreCertificates": getOrCreateConfiguration(target).setSslTruststoreCertificates(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltruststorelocation":
-        case "sslTruststoreLocation": getOrCreateConfiguration(target).setSslTruststoreLocation(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltruststorepassword":
-        case "sslTruststorePassword": getOrCreateConfiguration(target).setSslTruststorePassword(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltruststoretype":
-        case "sslTruststoreType": getOrCreateConfiguration(target).setSslTruststoreType(property(camelContext, java.lang.String.class, value)); return true;
-        case "transactiontimeoutms":
-        case "transactionTimeoutMs": getOrCreateConfiguration(target).setTransactionTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "transactionalid":
-        case "transactionalId": getOrCreateConfiguration(target).setTransactionalId(property(camelContext, java.lang.String.class, value)); return true;
-        case "valuedeserializer":
-        case "valueDeserializer": getOrCreateConfiguration(target).setValueDeserializer(property(camelContext, java.lang.String.class, value)); return true;
-        case "valueserializer":
-        case "valueSerializer": getOrCreateConfiguration(target).setValueSerializer(property(camelContext, java.lang.String.class, value)); return true;
-        case "vertx": target.setVertx(property(camelContext, io.vertx.core.Vertx.class, value)); return true;
-        case "vertxkafkaclientfactory":
-        case "vertxKafkaClientFactory": target.setVertxKafkaClientFactory(property(camelContext, org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory.class, value)); return true;
-        case "vertxoptions":
-        case "vertxOptions": target.setVertxOptions(property(camelContext, io.vertx.core.VertxOptions.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public String[] getAutowiredNames() {
-        return new String[]{"kafkaManualCommitFactory","vertx","vertxKafkaClientFactory"};
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "acks": return java.lang.String.class;
-        case "additionalproperties":
-        case "additionalProperties": return java.util.Map.class;
-        case "allowautocreatetopics":
-        case "allowAutoCreateTopics": return boolean.class;
-        case "allowmanualcommit":
-        case "allowManualCommit": return boolean.class;
-        case "autocommitintervalms":
-        case "autoCommitIntervalMs": return int.class;
-        case "autooffsetreset":
-        case "autoOffsetReset": return java.lang.String.class;
-        case "autowiredenabled":
-        case "autowiredEnabled": return boolean.class;
-        case "batchsize":
-        case "batchSize": return int.class;
-        case "bootstrapservers":
-        case "bootstrapServers": return java.lang.String.class;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return boolean.class;
-        case "buffermemory":
-        case "bufferMemory": return long.class;
-        case "checkcrcs":
-        case "checkCrcs": return boolean.class;
-        case "clientdnslookup":
-        case "clientDnsLookup": return java.lang.String.class;
-        case "clientid":
-        case "clientId": return java.lang.String.class;
-        case "clientrack":
-        case "clientRack": return java.lang.String.class;
-        case "compressiontype":
-        case "compressionType": return java.lang.String.class;
-        case "configuration": return org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration.class;
-        case "connectionsmaxidlems":
-        case "connectionsMaxIdleMs": return long.class;
-        case "defaultapitimeoutms":
-        case "defaultApiTimeoutMs": return int.class;
-        case "deliverytimeoutms":
-        case "deliveryTimeoutMs": return int.class;
-        case "enableautocommit":
-        case "enableAutoCommit": return boolean.class;
-        case "enableidempotence":
-        case "enableIdempotence": return boolean.class;
-        case "excludeinternaltopics":
-        case "excludeInternalTopics": return boolean.class;
-        case "fetchmaxbytes":
-        case "fetchMaxBytes": return int.class;
-        case "fetchmaxwaitms":
-        case "fetchMaxWaitMs": return int.class;
-        case "fetchminbytes":
-        case "fetchMinBytes": return int.class;
-        case "groupid":
-        case "groupId": return java.lang.String.class;
-        case "groupinstanceid":
-        case "groupInstanceId": return java.lang.String.class;
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
-        case "heartbeatintervalms":
-        case "heartbeatIntervalMs": return int.class;
-        case "interceptorclasses":
-        case "interceptorClasses": return java.lang.String.class;
-        case "isolationlevel":
-        case "isolationLevel": return java.lang.String.class;
-        case "kafkamanualcommitfactory":
-        case "kafkaManualCommitFactory": return org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommitFactory.class;
-        case "keydeserializer":
-        case "keyDeserializer": return java.lang.String.class;
-        case "keyserializer":
-        case "keySerializer": return java.lang.String.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "lingerms":
-        case "lingerMs": return long.class;
-        case "maxblockms":
-        case "maxBlockMs": return long.class;
-        case "maxinflightrequestsperconnection":
-        case "maxInFlightRequestsPerConnection": return int.class;
-        case "maxpartitionfetchbytes":
-        case "maxPartitionFetchBytes": return int.class;
-        case "maxpollintervalms":
-        case "maxPollIntervalMs": return int.class;
-        case "maxpollrecords":
-        case "maxPollRecords": return int.class;
-        case "maxrequestsize":
-        case "maxRequestSize": return int.class;
-        case "metadatamaxagems":
-        case "metadataMaxAgeMs": return long.class;
-        case "metadatamaxidlems":
-        case "metadataMaxIdleMs": return long.class;
-        case "metricreporters":
-        case "metricReporters": return java.lang.String.class;
-        case "metricsnumsamples":
-        case "metricsNumSamples": return int.class;
-        case "metricsrecordinglevel":
-        case "metricsRecordingLevel": return java.lang.String.class;
-        case "metricssamplewindowms":
-        case "metricsSampleWindowMs": return long.class;
-        case "partitionassignmentstrategy":
-        case "partitionAssignmentStrategy": return java.lang.String.class;
-        case "partitionid":
-        case "partitionId": return java.lang.Integer.class;
-        case "partitionerclass":
-        case "partitionerClass": return java.lang.String.class;
-        case "receivebufferbytes":
-        case "receiveBufferBytes": return int.class;
-        case "reconnectbackoffmaxms":
-        case "reconnectBackoffMaxMs": return long.class;
-        case "reconnectbackoffms":
-        case "reconnectBackoffMs": return long.class;
-        case "requesttimeoutms":
-        case "requestTimeoutMs": return int.class;
-        case "retries": return int.class;
-        case "retrybackoffms":
-        case "retryBackoffMs": return long.class;
-        case "saslclientcallbackhandlerclass":
-        case "saslClientCallbackHandlerClass": return java.lang.String.class;
-        case "sasljaasconfig":
-        case "saslJaasConfig": return java.lang.String.class;
-        case "saslkerberoskinitcmd":
-        case "saslKerberosKinitCmd": return java.lang.String.class;
-        case "saslkerberosmintimebeforerelogin":
-        case "saslKerberosMinTimeBeforeRelogin": return long.class;
-        case "saslkerberosservicename":
-        case "saslKerberosServiceName": return java.lang.String.class;
-        case "saslkerberosticketrenewjitter":
-        case "saslKerberosTicketRenewJitter": return double.class;
-        case "saslkerberosticketrenewwindowfactor":
-        case "saslKerberosTicketRenewWindowFactor": return double.class;
-        case "sasllogincallbackhandlerclass":
-        case "saslLoginCallbackHandlerClass": return java.lang.String.class;
-        case "saslloginclass":
-        case "saslLoginClass": return java.lang.String.class;
-        case "saslloginrefreshbufferseconds":
-        case "saslLoginRefreshBufferSeconds": return short.class;
-        case "saslloginrefreshminperiodseconds":
-        case "saslLoginRefreshMinPeriodSeconds": return short.class;
-        case "saslloginrefreshwindowfactor":
-        case "saslLoginRefreshWindowFactor": return double.class;
-        case "saslloginrefreshwindowjitter":
-        case "saslLoginRefreshWindowJitter": return double.class;
-        case "saslmechanism":
-        case "saslMechanism": return java.lang.String.class;
-        case "securityprotocol":
-        case "securityProtocol": return java.lang.String.class;
-        case "securityproviders":
-        case "securityProviders": return java.lang.String.class;
-        case "seektooffset":
-        case "seekToOffset": return java.lang.Long.class;
-        case "seektoposition":
-        case "seekToPosition": return java.lang.String.class;
-        case "sendbufferbytes":
-        case "sendBufferBytes": return int.class;
-        case "sessiontimeoutms":
-        case "sessionTimeoutMs": return int.class;
-        case "socketconnectionsetuptimeoutmaxms":
-        case "socketConnectionSetupTimeoutMaxMs": return long.class;
-        case "socketconnectionsetuptimeoutms":
-        case "socketConnectionSetupTimeoutMs": return long.class;
-        case "sslciphersuites":
-        case "sslCipherSuites": return java.lang.String.class;
-        case "sslenabledprotocols":
-        case "sslEnabledProtocols": return java.lang.String.class;
-        case "sslendpointidentificationalgorithm":
-        case "sslEndpointIdentificationAlgorithm": return java.lang.String.class;
-        case "sslenginefactoryclass":
-        case "sslEngineFactoryClass": return java.lang.String.class;
-        case "sslkeypassword":
-        case "sslKeyPassword": return java.lang.String.class;
-        case "sslkeymanageralgorithm":
-        case "sslKeymanagerAlgorithm": return java.lang.String.class;
-        case "sslkeystorecertificatechain":
-        case "sslKeystoreCertificateChain": return java.lang.String.class;
-        case "sslkeystorekey":
-        case "sslKeystoreKey": return java.lang.String.class;
-        case "sslkeystorelocation":
-        case "sslKeystoreLocation": return java.lang.String.class;
-        case "sslkeystorepassword":
-        case "sslKeystorePassword": return java.lang.String.class;
-        case "sslkeystoretype":
-        case "sslKeystoreType": return java.lang.String.class;
-        case "sslprotocol":
-        case "sslProtocol": return java.lang.String.class;
-        case "sslprovider":
-        case "sslProvider": return java.lang.String.class;
-        case "sslsecurerandomimplementation":
-        case "sslSecureRandomImplementation": return java.lang.String.class;
-        case "ssltrustmanageralgorithm":
-        case "sslTrustmanagerAlgorithm": return java.lang.String.class;
-        case "ssltruststorecertificates":
-        case "sslTruststoreCertificates": return java.lang.String.class;
-        case "ssltruststorelocation":
-        case "sslTruststoreLocation": return java.lang.String.class;
-        case "ssltruststorepassword":
-        case "sslTruststorePassword": return java.lang.String.class;
-        case "ssltruststoretype":
-        case "sslTruststoreType": return java.lang.String.class;
-        case "transactiontimeoutms":
-        case "transactionTimeoutMs": return int.class;
-        case "transactionalid":
-        case "transactionalId": return java.lang.String.class;
-        case "valuedeserializer":
-        case "valueDeserializer": return java.lang.String.class;
-        case "valueserializer":
-        case "valueSerializer": return java.lang.String.class;
-        case "vertx": return io.vertx.core.Vertx.class;
-        case "vertxkafkaclientfactory":
-        case "vertxKafkaClientFactory": return org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory.class;
-        case "vertxoptions":
-        case "vertxOptions": return io.vertx.core.VertxOptions.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        VertxKafkaComponent target = (VertxKafkaComponent) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "acks": return getOrCreateConfiguration(target).getAcks();
-        case "additionalproperties":
-        case "additionalProperties": return getOrCreateConfiguration(target).getAdditionalProperties();
-        case "allowautocreatetopics":
-        case "allowAutoCreateTopics": return getOrCreateConfiguration(target).isAllowAutoCreateTopics();
-        case "allowmanualcommit":
-        case "allowManualCommit": return getOrCreateConfiguration(target).isAllowManualCommit();
-        case "autocommitintervalms":
-        case "autoCommitIntervalMs": return getOrCreateConfiguration(target).getAutoCommitIntervalMs();
-        case "autooffsetreset":
-        case "autoOffsetReset": return getOrCreateConfiguration(target).getAutoOffsetReset();
-        case "autowiredenabled":
-        case "autowiredEnabled": return target.isAutowiredEnabled();
-        case "batchsize":
-        case "batchSize": return getOrCreateConfiguration(target).getBatchSize();
-        case "bootstrapservers":
-        case "bootstrapServers": return getOrCreateConfiguration(target).getBootstrapServers();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
-        case "buffermemory":
-        case "bufferMemory": return getOrCreateConfiguration(target).getBufferMemory();
-        case "checkcrcs":
-        case "checkCrcs": return getOrCreateConfiguration(target).isCheckCrcs();
-        case "clientdnslookup":
-        case "clientDnsLookup": return getOrCreateConfiguration(target).getClientDnsLookup();
-        case "clientid":
-        case "clientId": return getOrCreateConfiguration(target).getClientId();
-        case "clientrack":
-        case "clientRack": return getOrCreateConfiguration(target).getClientRack();
-        case "compressiontype":
-        case "compressionType": return getOrCreateConfiguration(target).getCompressionType();
-        case "configuration": return target.getConfiguration();
-        case "connectionsmaxidlems":
-        case "connectionsMaxIdleMs": return getOrCreateConfiguration(target).getConnectionsMaxIdleMs();
-        case "defaultapitimeoutms":
-        case "defaultApiTimeoutMs": return getOrCreateConfiguration(target).getDefaultApiTimeoutMs();
-        case "deliverytimeoutms":
-        case "deliveryTimeoutMs": return getOrCreateConfiguration(target).getDeliveryTimeoutMs();
-        case "enableautocommit":
-        case "enableAutoCommit": return getOrCreateConfiguration(target).isEnableAutoCommit();
-        case "enableidempotence":
-        case "enableIdempotence": return getOrCreateConfiguration(target).isEnableIdempotence();
-        case "excludeinternaltopics":
-        case "excludeInternalTopics": return getOrCreateConfiguration(target).isExcludeInternalTopics();
-        case "fetchmaxbytes":
-        case "fetchMaxBytes": return getOrCreateConfiguration(target).getFetchMaxBytes();
-        case "fetchmaxwaitms":
-        case "fetchMaxWaitMs": return getOrCreateConfiguration(target).getFetchMaxWaitMs();
-        case "fetchminbytes":
-        case "fetchMinBytes": return getOrCreateConfiguration(target).getFetchMinBytes();
-        case "groupid":
-        case "groupId": return getOrCreateConfiguration(target).getGroupId();
-        case "groupinstanceid":
-        case "groupInstanceId": return getOrCreateConfiguration(target).getGroupInstanceId();
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": return getOrCreateConfiguration(target).getHeaderFilterStrategy();
-        case "heartbeatintervalms":
-        case "heartbeatIntervalMs": return getOrCreateConfiguration(target).getHeartbeatIntervalMs();
-        case "interceptorclasses":
-        case "interceptorClasses": return getOrCreateConfiguration(target).getInterceptorClasses();
-        case "isolationlevel":
-        case "isolationLevel": return getOrCreateConfiguration(target).getIsolationLevel();
-        case "kafkamanualcommitfactory":
-        case "kafkaManualCommitFactory": return target.getKafkaManualCommitFactory();
-        case "keydeserializer":
-        case "keyDeserializer": return getOrCreateConfiguration(target).getKeyDeserializer();
-        case "keyserializer":
-        case "keySerializer": return getOrCreateConfiguration(target).getKeySerializer();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "lingerms":
-        case "lingerMs": return getOrCreateConfiguration(target).getLingerMs();
-        case "maxblockms":
-        case "maxBlockMs": return getOrCreateConfiguration(target).getMaxBlockMs();
-        case "maxinflightrequestsperconnection":
-        case "maxInFlightRequestsPerConnection": return getOrCreateConfiguration(target).getMaxInFlightRequestsPerConnection();
-        case "maxpartitionfetchbytes":
-        case "maxPartitionFetchBytes": return getOrCreateConfiguration(target).getMaxPartitionFetchBytes();
-        case "maxpollintervalms":
-        case "maxPollIntervalMs": return getOrCreateConfiguration(target).getMaxPollIntervalMs();
-        case "maxpollrecords":
-        case "maxPollRecords": return getOrCreateConfiguration(target).getMaxPollRecords();
-        case "maxrequestsize":
-        case "maxRequestSize": return getOrCreateConfiguration(target).getMaxRequestSize();
-        case "metadatamaxagems":
-        case "metadataMaxAgeMs": return getOrCreateConfiguration(target).getMetadataMaxAgeMs();
-        case "metadatamaxidlems":
-        case "metadataMaxIdleMs": return getOrCreateConfiguration(target).getMetadataMaxIdleMs();
-        case "metricreporters":
-        case "metricReporters": return getOrCreateConfiguration(target).getMetricReporters();
-        case "metricsnumsamples":
-        case "metricsNumSamples": return getOrCreateConfiguration(target).getMetricsNumSamples();
-        case "metricsrecordinglevel":
-        case "metricsRecordingLevel": return getOrCreateConfiguration(target).getMetricsRecordingLevel();
-        case "metricssamplewindowms":
-        case "metricsSampleWindowMs": return getOrCreateConfiguration(target).getMetricsSampleWindowMs();
-        case "partitionassignmentstrategy":
-        case "partitionAssignmentStrategy": return getOrCreateConfiguration(target).getPartitionAssignmentStrategy();
-        case "partitionid":
-        case "partitionId": return getOrCreateConfiguration(target).getPartitionId();
-        case "partitionerclass":
-        case "partitionerClass": return getOrCreateConfiguration(target).getPartitionerClass();
-        case "receivebufferbytes":
-        case "receiveBufferBytes": return getOrCreateConfiguration(target).getReceiveBufferBytes();
-        case "reconnectbackoffmaxms":
-        case "reconnectBackoffMaxMs": return getOrCreateConfiguration(target).getReconnectBackoffMaxMs();
-        case "reconnectbackoffms":
-        case "reconnectBackoffMs": return getOrCreateConfiguration(target).getReconnectBackoffMs();
-        case "requesttimeoutms":
-        case "requestTimeoutMs": return getOrCreateConfiguration(target).getRequestTimeoutMs();
-        case "retries": return getOrCreateConfiguration(target).getRetries();
-        case "retrybackoffms":
-        case "retryBackoffMs": return getOrCreateConfiguration(target).getRetryBackoffMs();
-        case "saslclientcallbackhandlerclass":
-        case "saslClientCallbackHandlerClass": return getOrCreateConfiguration(target).getSaslClientCallbackHandlerClass();
-        case "sasljaasconfig":
-        case "saslJaasConfig": return getOrCreateConfiguration(target).getSaslJaasConfig();
-        case "saslkerberoskinitcmd":
-        case "saslKerberosKinitCmd": return getOrCreateConfiguration(target).getSaslKerberosKinitCmd();
-        case "saslkerberosmintimebeforerelogin":
-        case "saslKerberosMinTimeBeforeRelogin": return getOrCreateConfiguration(target).getSaslKerberosMinTimeBeforeRelogin();
-        case "saslkerberosservicename":
-        case "saslKerberosServiceName": return getOrCreateConfiguration(target).getSaslKerberosServiceName();
-        case "saslkerberosticketrenewjitter":
-        case "saslKerberosTicketRenewJitter": return getOrCreateConfiguration(target).getSaslKerberosTicketRenewJitter();
-        case "saslkerberosticketrenewwindowfactor":
-        case "saslKerberosTicketRenewWindowFactor": return getOrCreateConfiguration(target).getSaslKerberosTicketRenewWindowFactor();
-        case "sasllogincallbackhandlerclass":
-        case "saslLoginCallbackHandlerClass": return getOrCreateConfiguration(target).getSaslLoginCallbackHandlerClass();
-        case "saslloginclass":
-        case "saslLoginClass": return getOrCreateConfiguration(target).getSaslLoginClass();
-        case "saslloginrefreshbufferseconds":
-        case "saslLoginRefreshBufferSeconds": return getOrCreateConfiguration(target).getSaslLoginRefreshBufferSeconds();
-        case "saslloginrefreshminperiodseconds":
-        case "saslLoginRefreshMinPeriodSeconds": return getOrCreateConfiguration(target).getSaslLoginRefreshMinPeriodSeconds();
-        case "saslloginrefreshwindowfactor":
-        case "saslLoginRefreshWindowFactor": return getOrCreateConfiguration(target).getSaslLoginRefreshWindowFactor();
-        case "saslloginrefreshwindowjitter":
-        case "saslLoginRefreshWindowJitter": return getOrCreateConfiguration(target).getSaslLoginRefreshWindowJitter();
-        case "saslmechanism":
-        case "saslMechanism": return getOrCreateConfiguration(target).getSaslMechanism();
-        case "securityprotocol":
-        case "securityProtocol": return getOrCreateConfiguration(target).getSecurityProtocol();
-        case "securityproviders":
-        case "securityProviders": return getOrCreateConfiguration(target).getSecurityProviders();
-        case "seektooffset":
-        case "seekToOffset": return getOrCreateConfiguration(target).getSeekToOffset();
-        case "seektoposition":
-        case "seekToPosition": return getOrCreateConfiguration(target).getSeekToPosition();
-        case "sendbufferbytes":
-        case "sendBufferBytes": return getOrCreateConfiguration(target).getSendBufferBytes();
-        case "sessiontimeoutms":
-        case "sessionTimeoutMs": return getOrCreateConfiguration(target).getSessionTimeoutMs();
-        case "socketconnectionsetuptimeoutmaxms":
-        case "socketConnectionSetupTimeoutMaxMs": return getOrCreateConfiguration(target).getSocketConnectionSetupTimeoutMaxMs();
-        case "socketconnectionsetuptimeoutms":
-        case "socketConnectionSetupTimeoutMs": return getOrCreateConfiguration(target).getSocketConnectionSetupTimeoutMs();
-        case "sslciphersuites":
-        case "sslCipherSuites": return getOrCreateConfiguration(target).getSslCipherSuites();
-        case "sslenabledprotocols":
-        case "sslEnabledProtocols": return getOrCreateConfiguration(target).getSslEnabledProtocols();
-        case "sslendpointidentificationalgorithm":
-        case "sslEndpointIdentificationAlgorithm": return getOrCreateConfiguration(target).getSslEndpointIdentificationAlgorithm();
-        case "sslenginefactoryclass":
-        case "sslEngineFactoryClass": return getOrCreateConfiguration(target).getSslEngineFactoryClass();
-        case "sslkeypassword":
-        case "sslKeyPassword": return getOrCreateConfiguration(target).getSslKeyPassword();
-        case "sslkeymanageralgorithm":
-        case "sslKeymanagerAlgorithm": return getOrCreateConfiguration(target).getSslKeymanagerAlgorithm();
-        case "sslkeystorecertificatechain":
-        case "sslKeystoreCertificateChain": return getOrCreateConfiguration(target).getSslKeystoreCertificateChain();
-        case "sslkeystorekey":
-        case "sslKeystoreKey": return getOrCreateConfiguration(target).getSslKeystoreKey();
-        case "sslkeystorelocation":
-        case "sslKeystoreLocation": return getOrCreateConfiguration(target).getSslKeystoreLocation();
-        case "sslkeystorepassword":
-        case "sslKeystorePassword": return getOrCreateConfiguration(target).getSslKeystorePassword();
-        case "sslkeystoretype":
-        case "sslKeystoreType": return getOrCreateConfiguration(target).getSslKeystoreType();
-        case "sslprotocol":
-        case "sslProtocol": return getOrCreateConfiguration(target).getSslProtocol();
-        case "sslprovider":
-        case "sslProvider": return getOrCreateConfiguration(target).getSslProvider();
-        case "sslsecurerandomimplementation":
-        case "sslSecureRandomImplementation": return getOrCreateConfiguration(target).getSslSecureRandomImplementation();
-        case "ssltrustmanageralgorithm":
-        case "sslTrustmanagerAlgorithm": return getOrCreateConfiguration(target).getSslTrustmanagerAlgorithm();
-        case "ssltruststorecertificates":
-        case "sslTruststoreCertificates": return getOrCreateConfiguration(target).getSslTruststoreCertificates();
-        case "ssltruststorelocation":
-        case "sslTruststoreLocation": return getOrCreateConfiguration(target).getSslTruststoreLocation();
-        case "ssltruststorepassword":
-        case "sslTruststorePassword": return getOrCreateConfiguration(target).getSslTruststorePassword();
-        case "ssltruststoretype":
-        case "sslTruststoreType": return getOrCreateConfiguration(target).getSslTruststoreType();
-        case "transactiontimeoutms":
-        case "transactionTimeoutMs": return getOrCreateConfiguration(target).getTransactionTimeoutMs();
-        case "transactionalid":
-        case "transactionalId": return getOrCreateConfiguration(target).getTransactionalId();
-        case "valuedeserializer":
-        case "valueDeserializer": return getOrCreateConfiguration(target).getValueDeserializer();
-        case "valueserializer":
-        case "valueSerializer": return getOrCreateConfiguration(target).getValueSerializer();
-        case "vertx": return target.getVertx();
-        case "vertxkafkaclientfactory":
-        case "vertxKafkaClientFactory": return target.getVertxKafkaClientFactory();
-        case "vertxoptions":
-        case "vertxOptions": return target.getVertxOptions();
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "additionalproperties":
-        case "additionalProperties": return java.lang.Object.class;
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpointConfigurer.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpointConfigurer.java
deleted file mode 100644
index 42c8daccdb7..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpointConfigurer.java
+++ /dev/null
@@ -1,658 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
-import org.apache.camel.spi.PropertyConfigurerGetter;
-import org.apache.camel.spi.ConfigurerStrategy;
-import org.apache.camel.spi.GeneratedPropertyConfigurer;
-import org.apache.camel.util.CaseInsensitiveMap;
-import org.apache.camel.support.component.PropertyConfigurerSupport;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-@SuppressWarnings("unchecked")
-public class VertxKafkaEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
-
-    @Override
-    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
-        VertxKafkaEndpoint target = (VertxKafkaEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "acks": target.getConfiguration().setAcks(property(camelContext, java.lang.String.class, value)); return true;
-        case "additionalproperties":
-        case "additionalProperties": target.getConfiguration().setAdditionalProperties(property(camelContext, java.util.Map.class, value)); return true;
-        case "allowautocreatetopics":
-        case "allowAutoCreateTopics": target.getConfiguration().setAllowAutoCreateTopics(property(camelContext, boolean.class, value)); return true;
-        case "allowmanualcommit":
-        case "allowManualCommit": target.getConfiguration().setAllowManualCommit(property(camelContext, boolean.class, value)); return true;
-        case "autocommitintervalms":
-        case "autoCommitIntervalMs": target.getConfiguration().setAutoCommitIntervalMs(property(camelContext, int.class, value)); return true;
-        case "autooffsetreset":
-        case "autoOffsetReset": target.getConfiguration().setAutoOffsetReset(property(camelContext, java.lang.String.class, value)); return true;
-        case "batchsize":
-        case "batchSize": target.getConfiguration().setBatchSize(property(camelContext, int.class, value)); return true;
-        case "bootstrapservers":
-        case "bootstrapServers": target.getConfiguration().setBootstrapServers(property(camelContext, java.lang.String.class, value)); return true;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
-        case "buffermemory":
-        case "bufferMemory": target.getConfiguration().setBufferMemory(property(camelContext, long.class, value)); return true;
-        case "checkcrcs":
-        case "checkCrcs": target.getConfiguration().setCheckCrcs(property(camelContext, boolean.class, value)); return true;
-        case "clientdnslookup":
-        case "clientDnsLookup": target.getConfiguration().setClientDnsLookup(property(camelContext, java.lang.String.class, value)); return true;
-        case "clientid":
-        case "clientId": target.getConfiguration().setClientId(property(camelContext, java.lang.String.class, value)); return true;
-        case "clientrack":
-        case "clientRack": target.getConfiguration().setClientRack(property(camelContext, java.lang.String.class, value)); return true;
-        case "compressiontype":
-        case "compressionType": target.getConfiguration().setCompressionType(property(camelContext, java.lang.String.class, value)); return true;
-        case "connectionsmaxidlems":
-        case "connectionsMaxIdleMs": target.getConfiguration().setConnectionsMaxIdleMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "defaultapitimeoutms":
-        case "defaultApiTimeoutMs": target.getConfiguration().setDefaultApiTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "deliverytimeoutms":
-        case "deliveryTimeoutMs": target.getConfiguration().setDeliveryTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "enableautocommit":
-        case "enableAutoCommit": target.getConfiguration().setEnableAutoCommit(property(camelContext, boolean.class, value)); return true;
-        case "enableidempotence":
-        case "enableIdempotence": target.getConfiguration().setEnableIdempotence(property(camelContext, boolean.class, value)); return true;
-        case "exceptionhandler":
-        case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
-        case "exchangepattern":
-        case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
-        case "excludeinternaltopics":
-        case "excludeInternalTopics": target.getConfiguration().setExcludeInternalTopics(property(camelContext, boolean.class, value)); return true;
-        case "fetchmaxbytes":
-        case "fetchMaxBytes": target.getConfiguration().setFetchMaxBytes(property(camelContext, int.class, value)); return true;
-        case "fetchmaxwaitms":
-        case "fetchMaxWaitMs": target.getConfiguration().setFetchMaxWaitMs(property(camelContext, int.class, value)); return true;
-        case "fetchminbytes":
-        case "fetchMinBytes": target.getConfiguration().setFetchMinBytes(property(camelContext, int.class, value)); return true;
-        case "groupid":
-        case "groupId": target.getConfiguration().setGroupId(property(camelContext, java.lang.String.class, value)); return true;
-        case "groupinstanceid":
-        case "groupInstanceId": target.getConfiguration().setGroupInstanceId(property(camelContext, java.lang.String.class, value)); return true;
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": target.getConfiguration().setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
-        case "heartbeatintervalms":
-        case "heartbeatIntervalMs": target.getConfiguration().setHeartbeatIntervalMs(property(camelContext, int.class, value)); return true;
-        case "interceptorclasses":
-        case "interceptorClasses": target.getConfiguration().setInterceptorClasses(property(camelContext, java.lang.String.class, value)); return true;
-        case "isolationlevel":
-        case "isolationLevel": target.getConfiguration().setIsolationLevel(property(camelContext, java.lang.String.class, value)); return true;
-        case "keydeserializer":
-        case "keyDeserializer": target.getConfiguration().setKeyDeserializer(property(camelContext, java.lang.String.class, value)); return true;
-        case "keyserializer":
-        case "keySerializer": target.getConfiguration().setKeySerializer(property(camelContext, java.lang.String.class, value)); return true;
-        case "lazystartproducer":
-        case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
-        case "lingerms":
-        case "lingerMs": target.getConfiguration().setLingerMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "maxblockms":
-        case "maxBlockMs": target.getConfiguration().setMaxBlockMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "maxinflightrequestsperconnection":
-        case "maxInFlightRequestsPerConnection": target.getConfiguration().setMaxInFlightRequestsPerConnection(property(camelContext, int.class, value)); return true;
-        case "maxpartitionfetchbytes":
-        case "maxPartitionFetchBytes": target.getConfiguration().setMaxPartitionFetchBytes(property(camelContext, int.class, value)); return true;
-        case "maxpollintervalms":
-        case "maxPollIntervalMs": target.getConfiguration().setMaxPollIntervalMs(property(camelContext, int.class, value)); return true;
-        case "maxpollrecords":
-        case "maxPollRecords": target.getConfiguration().setMaxPollRecords(property(camelContext, int.class, value)); return true;
-        case "maxrequestsize":
-        case "maxRequestSize": target.getConfiguration().setMaxRequestSize(property(camelContext, int.class, value)); return true;
-        case "metadatamaxagems":
-        case "metadataMaxAgeMs": target.getConfiguration().setMetadataMaxAgeMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "metadatamaxidlems":
-        case "metadataMaxIdleMs": target.getConfiguration().setMetadataMaxIdleMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "metricreporters":
-        case "metricReporters": target.getConfiguration().setMetricReporters(property(camelContext, java.lang.String.class, value)); return true;
-        case "metricsnumsamples":
-        case "metricsNumSamples": target.getConfiguration().setMetricsNumSamples(property(camelContext, int.class, value)); return true;
-        case "metricsrecordinglevel":
-        case "metricsRecordingLevel": target.getConfiguration().setMetricsRecordingLevel(property(camelContext, java.lang.String.class, value)); return true;
-        case "metricssamplewindowms":
-        case "metricsSampleWindowMs": target.getConfiguration().setMetricsSampleWindowMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "partitionassignmentstrategy":
-        case "partitionAssignmentStrategy": target.getConfiguration().setPartitionAssignmentStrategy(property(camelContext, java.lang.String.class, value)); return true;
-        case "partitionid":
-        case "partitionId": target.getConfiguration().setPartitionId(property(camelContext, java.lang.Integer.class, value)); return true;
-        case "partitionerclass":
-        case "partitionerClass": target.getConfiguration().setPartitionerClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "receivebufferbytes":
-        case "receiveBufferBytes": target.getConfiguration().setReceiveBufferBytes(property(camelContext, int.class, value)); return true;
-        case "reconnectbackoffmaxms":
-        case "reconnectBackoffMaxMs": target.getConfiguration().setReconnectBackoffMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "reconnectbackoffms":
-        case "reconnectBackoffMs": target.getConfiguration().setReconnectBackoffMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "requesttimeoutms":
-        case "requestTimeoutMs": target.getConfiguration().setRequestTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "retries": target.getConfiguration().setRetries(property(camelContext, int.class, value)); return true;
-        case "retrybackoffms":
-        case "retryBackoffMs": target.getConfiguration().setRetryBackoffMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "saslclientcallbackhandlerclass":
-        case "saslClientCallbackHandlerClass": target.getConfiguration().setSaslClientCallbackHandlerClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "sasljaasconfig":
-        case "saslJaasConfig": target.getConfiguration().setSaslJaasConfig(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslkerberoskinitcmd":
-        case "saslKerberosKinitCmd": target.getConfiguration().setSaslKerberosKinitCmd(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslkerberosmintimebeforerelogin":
-        case "saslKerberosMinTimeBeforeRelogin": target.getConfiguration().setSaslKerberosMinTimeBeforeRelogin(property(camelContext, long.class, value)); return true;
-        case "saslkerberosservicename":
-        case "saslKerberosServiceName": target.getConfiguration().setSaslKerberosServiceName(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslkerberosticketrenewjitter":
-        case "saslKerberosTicketRenewJitter": target.getConfiguration().setSaslKerberosTicketRenewJitter(property(camelContext, double.class, value)); return true;
-        case "saslkerberosticketrenewwindowfactor":
-        case "saslKerberosTicketRenewWindowFactor": target.getConfiguration().setSaslKerberosTicketRenewWindowFactor(property(camelContext, double.class, value)); return true;
-        case "sasllogincallbackhandlerclass":
-        case "saslLoginCallbackHandlerClass": target.getConfiguration().setSaslLoginCallbackHandlerClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslloginclass":
-        case "saslLoginClass": target.getConfiguration().setSaslLoginClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "saslloginrefreshbufferseconds":
-        case "saslLoginRefreshBufferSeconds": target.getConfiguration().setSaslLoginRefreshBufferSeconds(property(camelContext, short.class, value)); return true;
-        case "saslloginrefreshminperiodseconds":
-        case "saslLoginRefreshMinPeriodSeconds": target.getConfiguration().setSaslLoginRefreshMinPeriodSeconds(property(camelContext, short.class, value)); return true;
-        case "saslloginrefreshwindowfactor":
-        case "saslLoginRefreshWindowFactor": target.getConfiguration().setSaslLoginRefreshWindowFactor(property(camelContext, double.class, value)); return true;
-        case "saslloginrefreshwindowjitter":
-        case "saslLoginRefreshWindowJitter": target.getConfiguration().setSaslLoginRefreshWindowJitter(property(camelContext, double.class, value)); return true;
-        case "saslmechanism":
-        case "saslMechanism": target.getConfiguration().setSaslMechanism(property(camelContext, java.lang.String.class, value)); return true;
-        case "securityprotocol":
-        case "securityProtocol": target.getConfiguration().setSecurityProtocol(property(camelContext, java.lang.String.class, value)); return true;
-        case "securityproviders":
-        case "securityProviders": target.getConfiguration().setSecurityProviders(property(camelContext, java.lang.String.class, value)); return true;
-        case "seektooffset":
-        case "seekToOffset": target.getConfiguration().setSeekToOffset(property(camelContext, java.lang.Long.class, value)); return true;
-        case "seektoposition":
-        case "seekToPosition": target.getConfiguration().setSeekToPosition(property(camelContext, java.lang.String.class, value)); return true;
-        case "sendbufferbytes":
-        case "sendBufferBytes": target.getConfiguration().setSendBufferBytes(property(camelContext, int.class, value)); return true;
-        case "sessiontimeoutms":
-        case "sessionTimeoutMs": target.getConfiguration().setSessionTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "socketconnectionsetuptimeoutmaxms":
-        case "socketConnectionSetupTimeoutMaxMs": target.getConfiguration().setSocketConnectionSetupTimeoutMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "socketconnectionsetuptimeoutms":
-        case "socketConnectionSetupTimeoutMs": target.getConfiguration().setSocketConnectionSetupTimeoutMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
-        case "sslciphersuites":
-        case "sslCipherSuites": target.getConfiguration().setSslCipherSuites(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslenabledprotocols":
-        case "sslEnabledProtocols": target.getConfiguration().setSslEnabledProtocols(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslendpointidentificationalgorithm":
-        case "sslEndpointIdentificationAlgorithm": target.getConfiguration().setSslEndpointIdentificationAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslenginefactoryclass":
-        case "sslEngineFactoryClass": target.getConfiguration().setSslEngineFactoryClass(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeypassword":
-        case "sslKeyPassword": target.getConfiguration().setSslKeyPassword(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeymanageralgorithm":
-        case "sslKeymanagerAlgorithm": target.getConfiguration().setSslKeymanagerAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystorecertificatechain":
-        case "sslKeystoreCertificateChain": target.getConfiguration().setSslKeystoreCertificateChain(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystorekey":
-        case "sslKeystoreKey": target.getConfiguration().setSslKeystoreKey(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystorelocation":
-        case "sslKeystoreLocation": target.getConfiguration().setSslKeystoreLocation(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystorepassword":
-        case "sslKeystorePassword": target.getConfiguration().setSslKeystorePassword(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslkeystoretype":
-        case "sslKeystoreType": target.getConfiguration().setSslKeystoreType(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslprotocol":
-        case "sslProtocol": target.getConfiguration().setSslProtocol(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslprovider":
-        case "sslProvider": target.getConfiguration().setSslProvider(property(camelContext, java.lang.String.class, value)); return true;
-        case "sslsecurerandomimplementation":
-        case "sslSecureRandomImplementation": target.getConfiguration().setSslSecureRandomImplementation(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltrustmanageralgorithm":
-        case "sslTrustmanagerAlgorithm": target.getConfiguration().setSslTrustmanagerAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltruststorecertificates":
-        case "sslTruststoreCertificates": target.getConfiguration().setSslTruststoreCertificates(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltruststorelocation":
-        case "sslTruststoreLocation": target.getConfiguration().setSslTruststoreLocation(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltruststorepassword":
-        case "sslTruststorePassword": target.getConfiguration().setSslTruststorePassword(property(camelContext, java.lang.String.class, value)); return true;
-        case "ssltruststoretype":
-        case "sslTruststoreType": target.getConfiguration().setSslTruststoreType(property(camelContext, java.lang.String.class, value)); return true;
-        case "transactiontimeoutms":
-        case "transactionTimeoutMs": target.getConfiguration().setTransactionTimeoutMs(property(camelContext, int.class, value)); return true;
-        case "transactionalid":
-        case "transactionalId": target.getConfiguration().setTransactionalId(property(camelContext, java.lang.String.class, value)); return true;
-        case "valuedeserializer":
-        case "valueDeserializer": target.getConfiguration().setValueDeserializer(property(camelContext, java.lang.String.class, value)); return true;
-        case "valueserializer":
-        case "valueSerializer": target.getConfiguration().setValueSerializer(property(camelContext, java.lang.String.class, value)); return true;
-        default: return false;
-        }
-    }
-
-    @Override
-    public Class<?> getOptionType(String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "acks": return java.lang.String.class;
-        case "additionalproperties":
-        case "additionalProperties": return java.util.Map.class;
-        case "allowautocreatetopics":
-        case "allowAutoCreateTopics": return boolean.class;
-        case "allowmanualcommit":
-        case "allowManualCommit": return boolean.class;
-        case "autocommitintervalms":
-        case "autoCommitIntervalMs": return int.class;
-        case "autooffsetreset":
-        case "autoOffsetReset": return java.lang.String.class;
-        case "batchsize":
-        case "batchSize": return int.class;
-        case "bootstrapservers":
-        case "bootstrapServers": return java.lang.String.class;
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return boolean.class;
-        case "buffermemory":
-        case "bufferMemory": return long.class;
-        case "checkcrcs":
-        case "checkCrcs": return boolean.class;
-        case "clientdnslookup":
-        case "clientDnsLookup": return java.lang.String.class;
-        case "clientid":
-        case "clientId": return java.lang.String.class;
-        case "clientrack":
-        case "clientRack": return java.lang.String.class;
-        case "compressiontype":
-        case "compressionType": return java.lang.String.class;
-        case "connectionsmaxidlems":
-        case "connectionsMaxIdleMs": return long.class;
-        case "defaultapitimeoutms":
-        case "defaultApiTimeoutMs": return int.class;
-        case "deliverytimeoutms":
-        case "deliveryTimeoutMs": return int.class;
-        case "enableautocommit":
-        case "enableAutoCommit": return boolean.class;
-        case "enableidempotence":
-        case "enableIdempotence": return boolean.class;
-        case "exceptionhandler":
-        case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
-        case "exchangepattern":
-        case "exchangePattern": return org.apache.camel.ExchangePattern.class;
-        case "excludeinternaltopics":
-        case "excludeInternalTopics": return boolean.class;
-        case "fetchmaxbytes":
-        case "fetchMaxBytes": return int.class;
-        case "fetchmaxwaitms":
-        case "fetchMaxWaitMs": return int.class;
-        case "fetchminbytes":
-        case "fetchMinBytes": return int.class;
-        case "groupid":
-        case "groupId": return java.lang.String.class;
-        case "groupinstanceid":
-        case "groupInstanceId": return java.lang.String.class;
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
-        case "heartbeatintervalms":
-        case "heartbeatIntervalMs": return int.class;
-        case "interceptorclasses":
-        case "interceptorClasses": return java.lang.String.class;
-        case "isolationlevel":
-        case "isolationLevel": return java.lang.String.class;
-        case "keydeserializer":
-        case "keyDeserializer": return java.lang.String.class;
-        case "keyserializer":
-        case "keySerializer": return java.lang.String.class;
-        case "lazystartproducer":
-        case "lazyStartProducer": return boolean.class;
-        case "lingerms":
-        case "lingerMs": return long.class;
-        case "maxblockms":
-        case "maxBlockMs": return long.class;
-        case "maxinflightrequestsperconnection":
-        case "maxInFlightRequestsPerConnection": return int.class;
-        case "maxpartitionfetchbytes":
-        case "maxPartitionFetchBytes": return int.class;
-        case "maxpollintervalms":
-        case "maxPollIntervalMs": return int.class;
-        case "maxpollrecords":
-        case "maxPollRecords": return int.class;
-        case "maxrequestsize":
-        case "maxRequestSize": return int.class;
-        case "metadatamaxagems":
-        case "metadataMaxAgeMs": return long.class;
-        case "metadatamaxidlems":
-        case "metadataMaxIdleMs": return long.class;
-        case "metricreporters":
-        case "metricReporters": return java.lang.String.class;
-        case "metricsnumsamples":
-        case "metricsNumSamples": return int.class;
-        case "metricsrecordinglevel":
-        case "metricsRecordingLevel": return java.lang.String.class;
-        case "metricssamplewindowms":
-        case "metricsSampleWindowMs": return long.class;
-        case "partitionassignmentstrategy":
-        case "partitionAssignmentStrategy": return java.lang.String.class;
-        case "partitionid":
-        case "partitionId": return java.lang.Integer.class;
-        case "partitionerclass":
-        case "partitionerClass": return java.lang.String.class;
-        case "receivebufferbytes":
-        case "receiveBufferBytes": return int.class;
-        case "reconnectbackoffmaxms":
-        case "reconnectBackoffMaxMs": return long.class;
-        case "reconnectbackoffms":
-        case "reconnectBackoffMs": return long.class;
-        case "requesttimeoutms":
-        case "requestTimeoutMs": return int.class;
-        case "retries": return int.class;
-        case "retrybackoffms":
-        case "retryBackoffMs": return long.class;
-        case "saslclientcallbackhandlerclass":
-        case "saslClientCallbackHandlerClass": return java.lang.String.class;
-        case "sasljaasconfig":
-        case "saslJaasConfig": return java.lang.String.class;
-        case "saslkerberoskinitcmd":
-        case "saslKerberosKinitCmd": return java.lang.String.class;
-        case "saslkerberosmintimebeforerelogin":
-        case "saslKerberosMinTimeBeforeRelogin": return long.class;
-        case "saslkerberosservicename":
-        case "saslKerberosServiceName": return java.lang.String.class;
-        case "saslkerberosticketrenewjitter":
-        case "saslKerberosTicketRenewJitter": return double.class;
-        case "saslkerberosticketrenewwindowfactor":
-        case "saslKerberosTicketRenewWindowFactor": return double.class;
-        case "sasllogincallbackhandlerclass":
-        case "saslLoginCallbackHandlerClass": return java.lang.String.class;
-        case "saslloginclass":
-        case "saslLoginClass": return java.lang.String.class;
-        case "saslloginrefreshbufferseconds":
-        case "saslLoginRefreshBufferSeconds": return short.class;
-        case "saslloginrefreshminperiodseconds":
-        case "saslLoginRefreshMinPeriodSeconds": return short.class;
-        case "saslloginrefreshwindowfactor":
-        case "saslLoginRefreshWindowFactor": return double.class;
-        case "saslloginrefreshwindowjitter":
-        case "saslLoginRefreshWindowJitter": return double.class;
-        case "saslmechanism":
-        case "saslMechanism": return java.lang.String.class;
-        case "securityprotocol":
-        case "securityProtocol": return java.lang.String.class;
-        case "securityproviders":
-        case "securityProviders": return java.lang.String.class;
-        case "seektooffset":
-        case "seekToOffset": return java.lang.Long.class;
-        case "seektoposition":
-        case "seekToPosition": return java.lang.String.class;
-        case "sendbufferbytes":
-        case "sendBufferBytes": return int.class;
-        case "sessiontimeoutms":
-        case "sessionTimeoutMs": return int.class;
-        case "socketconnectionsetuptimeoutmaxms":
-        case "socketConnectionSetupTimeoutMaxMs": return long.class;
-        case "socketconnectionsetuptimeoutms":
-        case "socketConnectionSetupTimeoutMs": return long.class;
-        case "sslciphersuites":
-        case "sslCipherSuites": return java.lang.String.class;
-        case "sslenabledprotocols":
-        case "sslEnabledProtocols": return java.lang.String.class;
-        case "sslendpointidentificationalgorithm":
-        case "sslEndpointIdentificationAlgorithm": return java.lang.String.class;
-        case "sslenginefactoryclass":
-        case "sslEngineFactoryClass": return java.lang.String.class;
-        case "sslkeypassword":
-        case "sslKeyPassword": return java.lang.String.class;
-        case "sslkeymanageralgorithm":
-        case "sslKeymanagerAlgorithm": return java.lang.String.class;
-        case "sslkeystorecertificatechain":
-        case "sslKeystoreCertificateChain": return java.lang.String.class;
-        case "sslkeystorekey":
-        case "sslKeystoreKey": return java.lang.String.class;
-        case "sslkeystorelocation":
-        case "sslKeystoreLocation": return java.lang.String.class;
-        case "sslkeystorepassword":
-        case "sslKeystorePassword": return java.lang.String.class;
-        case "sslkeystoretype":
-        case "sslKeystoreType": return java.lang.String.class;
-        case "sslprotocol":
-        case "sslProtocol": return java.lang.String.class;
-        case "sslprovider":
-        case "sslProvider": return java.lang.String.class;
-        case "sslsecurerandomimplementation":
-        case "sslSecureRandomImplementation": return java.lang.String.class;
-        case "ssltrustmanageralgorithm":
-        case "sslTrustmanagerAlgorithm": return java.lang.String.class;
-        case "ssltruststorecertificates":
-        case "sslTruststoreCertificates": return java.lang.String.class;
-        case "ssltruststorelocation":
-        case "sslTruststoreLocation": return java.lang.String.class;
-        case "ssltruststorepassword":
-        case "sslTruststorePassword": return java.lang.String.class;
-        case "ssltruststoretype":
-        case "sslTruststoreType": return java.lang.String.class;
-        case "transactiontimeoutms":
-        case "transactionTimeoutMs": return int.class;
-        case "transactionalid":
-        case "transactionalId": return java.lang.String.class;
-        case "valuedeserializer":
-        case "valueDeserializer": return java.lang.String.class;
-        case "valueserializer":
-        case "valueSerializer": return java.lang.String.class;
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
-        VertxKafkaEndpoint target = (VertxKafkaEndpoint) obj;
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "acks": return target.getConfiguration().getAcks();
-        case "additionalproperties":
-        case "additionalProperties": return target.getConfiguration().getAdditionalProperties();
-        case "allowautocreatetopics":
-        case "allowAutoCreateTopics": return target.getConfiguration().isAllowAutoCreateTopics();
-        case "allowmanualcommit":
-        case "allowManualCommit": return target.getConfiguration().isAllowManualCommit();
-        case "autocommitintervalms":
-        case "autoCommitIntervalMs": return target.getConfiguration().getAutoCommitIntervalMs();
-        case "autooffsetreset":
-        case "autoOffsetReset": return target.getConfiguration().getAutoOffsetReset();
-        case "batchsize":
-        case "batchSize": return target.getConfiguration().getBatchSize();
-        case "bootstrapservers":
-        case "bootstrapServers": return target.getConfiguration().getBootstrapServers();
-        case "bridgeerrorhandler":
-        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
-        case "buffermemory":
-        case "bufferMemory": return target.getConfiguration().getBufferMemory();
-        case "checkcrcs":
-        case "checkCrcs": return target.getConfiguration().isCheckCrcs();
-        case "clientdnslookup":
-        case "clientDnsLookup": return target.getConfiguration().getClientDnsLookup();
-        case "clientid":
-        case "clientId": return target.getConfiguration().getClientId();
-        case "clientrack":
-        case "clientRack": return target.getConfiguration().getClientRack();
-        case "compressiontype":
-        case "compressionType": return target.getConfiguration().getCompressionType();
-        case "connectionsmaxidlems":
-        case "connectionsMaxIdleMs": return target.getConfiguration().getConnectionsMaxIdleMs();
-        case "defaultapitimeoutms":
-        case "defaultApiTimeoutMs": return target.getConfiguration().getDefaultApiTimeoutMs();
-        case "deliverytimeoutms":
-        case "deliveryTimeoutMs": return target.getConfiguration().getDeliveryTimeoutMs();
-        case "enableautocommit":
-        case "enableAutoCommit": return target.getConfiguration().isEnableAutoCommit();
-        case "enableidempotence":
-        case "enableIdempotence": return target.getConfiguration().isEnableIdempotence();
-        case "exceptionhandler":
-        case "exceptionHandler": return target.getExceptionHandler();
-        case "exchangepattern":
-        case "exchangePattern": return target.getExchangePattern();
-        case "excludeinternaltopics":
-        case "excludeInternalTopics": return target.getConfiguration().isExcludeInternalTopics();
-        case "fetchmaxbytes":
-        case "fetchMaxBytes": return target.getConfiguration().getFetchMaxBytes();
-        case "fetchmaxwaitms":
-        case "fetchMaxWaitMs": return target.getConfiguration().getFetchMaxWaitMs();
-        case "fetchminbytes":
-        case "fetchMinBytes": return target.getConfiguration().getFetchMinBytes();
-        case "groupid":
-        case "groupId": return target.getConfiguration().getGroupId();
-        case "groupinstanceid":
-        case "groupInstanceId": return target.getConfiguration().getGroupInstanceId();
-        case "headerfilterstrategy":
-        case "headerFilterStrategy": return target.getConfiguration().getHeaderFilterStrategy();
-        case "heartbeatintervalms":
-        case "heartbeatIntervalMs": return target.getConfiguration().getHeartbeatIntervalMs();
-        case "interceptorclasses":
-        case "interceptorClasses": return target.getConfiguration().getInterceptorClasses();
-        case "isolationlevel":
-        case "isolationLevel": return target.getConfiguration().getIsolationLevel();
-        case "keydeserializer":
-        case "keyDeserializer": return target.getConfiguration().getKeyDeserializer();
-        case "keyserializer":
-        case "keySerializer": return target.getConfiguration().getKeySerializer();
-        case "lazystartproducer":
-        case "lazyStartProducer": return target.isLazyStartProducer();
-        case "lingerms":
-        case "lingerMs": return target.getConfiguration().getLingerMs();
-        case "maxblockms":
-        case "maxBlockMs": return target.getConfiguration().getMaxBlockMs();
-        case "maxinflightrequestsperconnection":
-        case "maxInFlightRequestsPerConnection": return target.getConfiguration().getMaxInFlightRequestsPerConnection();
-        case "maxpartitionfetchbytes":
-        case "maxPartitionFetchBytes": return target.getConfiguration().getMaxPartitionFetchBytes();
-        case "maxpollintervalms":
-        case "maxPollIntervalMs": return target.getConfiguration().getMaxPollIntervalMs();
-        case "maxpollrecords":
-        case "maxPollRecords": return target.getConfiguration().getMaxPollRecords();
-        case "maxrequestsize":
-        case "maxRequestSize": return target.getConfiguration().getMaxRequestSize();
-        case "metadatamaxagems":
-        case "metadataMaxAgeMs": return target.getConfiguration().getMetadataMaxAgeMs();
-        case "metadatamaxidlems":
-        case "metadataMaxIdleMs": return target.getConfiguration().getMetadataMaxIdleMs();
-        case "metricreporters":
-        case "metricReporters": return target.getConfiguration().getMetricReporters();
-        case "metricsnumsamples":
-        case "metricsNumSamples": return target.getConfiguration().getMetricsNumSamples();
-        case "metricsrecordinglevel":
-        case "metricsRecordingLevel": return target.getConfiguration().getMetricsRecordingLevel();
-        case "metricssamplewindowms":
-        case "metricsSampleWindowMs": return target.getConfiguration().getMetricsSampleWindowMs();
-        case "partitionassignmentstrategy":
-        case "partitionAssignmentStrategy": return target.getConfiguration().getPartitionAssignmentStrategy();
-        case "partitionid":
-        case "partitionId": return target.getConfiguration().getPartitionId();
-        case "partitionerclass":
-        case "partitionerClass": return target.getConfiguration().getPartitionerClass();
-        case "receivebufferbytes":
-        case "receiveBufferBytes": return target.getConfiguration().getReceiveBufferBytes();
-        case "reconnectbackoffmaxms":
-        case "reconnectBackoffMaxMs": return target.getConfiguration().getReconnectBackoffMaxMs();
-        case "reconnectbackoffms":
-        case "reconnectBackoffMs": return target.getConfiguration().getReconnectBackoffMs();
-        case "requesttimeoutms":
-        case "requestTimeoutMs": return target.getConfiguration().getRequestTimeoutMs();
-        case "retries": return target.getConfiguration().getRetries();
-        case "retrybackoffms":
-        case "retryBackoffMs": return target.getConfiguration().getRetryBackoffMs();
-        case "saslclientcallbackhandlerclass":
-        case "saslClientCallbackHandlerClass": return target.getConfiguration().getSaslClientCallbackHandlerClass();
-        case "sasljaasconfig":
-        case "saslJaasConfig": return target.getConfiguration().getSaslJaasConfig();
-        case "saslkerberoskinitcmd":
-        case "saslKerberosKinitCmd": return target.getConfiguration().getSaslKerberosKinitCmd();
-        case "saslkerberosmintimebeforerelogin":
-        case "saslKerberosMinTimeBeforeRelogin": return target.getConfiguration().getSaslKerberosMinTimeBeforeRelogin();
-        case "saslkerberosservicename":
-        case "saslKerberosServiceName": return target.getConfiguration().getSaslKerberosServiceName();
-        case "saslkerberosticketrenewjitter":
-        case "saslKerberosTicketRenewJitter": return target.getConfiguration().getSaslKerberosTicketRenewJitter();
-        case "saslkerberosticketrenewwindowfactor":
-        case "saslKerberosTicketRenewWindowFactor": return target.getConfiguration().getSaslKerberosTicketRenewWindowFactor();
-        case "sasllogincallbackhandlerclass":
-        case "saslLoginCallbackHandlerClass": return target.getConfiguration().getSaslLoginCallbackHandlerClass();
-        case "saslloginclass":
-        case "saslLoginClass": return target.getConfiguration().getSaslLoginClass();
-        case "saslloginrefreshbufferseconds":
-        case "saslLoginRefreshBufferSeconds": return target.getConfiguration().getSaslLoginRefreshBufferSeconds();
-        case "saslloginrefreshminperiodseconds":
-        case "saslLoginRefreshMinPeriodSeconds": return target.getConfiguration().getSaslLoginRefreshMinPeriodSeconds();
-        case "saslloginrefreshwindowfactor":
-        case "saslLoginRefreshWindowFactor": return target.getConfiguration().getSaslLoginRefreshWindowFactor();
-        case "saslloginrefreshwindowjitter":
-        case "saslLoginRefreshWindowJitter": return target.getConfiguration().getSaslLoginRefreshWindowJitter();
-        case "saslmechanism":
-        case "saslMechanism": return target.getConfiguration().getSaslMechanism();
-        case "securityprotocol":
-        case "securityProtocol": return target.getConfiguration().getSecurityProtocol();
-        case "securityproviders":
-        case "securityProviders": return target.getConfiguration().getSecurityProviders();
-        case "seektooffset":
-        case "seekToOffset": return target.getConfiguration().getSeekToOffset();
-        case "seektoposition":
-        case "seekToPosition": return target.getConfiguration().getSeekToPosition();
-        case "sendbufferbytes":
-        case "sendBufferBytes": return target.getConfiguration().getSendBufferBytes();
-        case "sessiontimeoutms":
-        case "sessionTimeoutMs": return target.getConfiguration().getSessionTimeoutMs();
-        case "socketconnectionsetuptimeoutmaxms":
-        case "socketConnectionSetupTimeoutMaxMs": return target.getConfiguration().getSocketConnectionSetupTimeoutMaxMs();
-        case "socketconnectionsetuptimeoutms":
-        case "socketConnectionSetupTimeoutMs": return target.getConfiguration().getSocketConnectionSetupTimeoutMs();
-        case "sslciphersuites":
-        case "sslCipherSuites": return target.getConfiguration().getSslCipherSuites();
-        case "sslenabledprotocols":
-        case "sslEnabledProtocols": return target.getConfiguration().getSslEnabledProtocols();
-        case "sslendpointidentificationalgorithm":
-        case "sslEndpointIdentificationAlgorithm": return target.getConfiguration().getSslEndpointIdentificationAlgorithm();
-        case "sslenginefactoryclass":
-        case "sslEngineFactoryClass": return target.getConfiguration().getSslEngineFactoryClass();
-        case "sslkeypassword":
-        case "sslKeyPassword": return target.getConfiguration().getSslKeyPassword();
-        case "sslkeymanageralgorithm":
-        case "sslKeymanagerAlgorithm": return target.getConfiguration().getSslKeymanagerAlgorithm();
-        case "sslkeystorecertificatechain":
-        case "sslKeystoreCertificateChain": return target.getConfiguration().getSslKeystoreCertificateChain();
-        case "sslkeystorekey":
-        case "sslKeystoreKey": return target.getConfiguration().getSslKeystoreKey();
-        case "sslkeystorelocation":
-        case "sslKeystoreLocation": return target.getConfiguration().getSslKeystoreLocation();
-        case "sslkeystorepassword":
-        case "sslKeystorePassword": return target.getConfiguration().getSslKeystorePassword();
-        case "sslkeystoretype":
-        case "sslKeystoreType": return target.getConfiguration().getSslKeystoreType();
-        case "sslprotocol":
-        case "sslProtocol": return target.getConfiguration().getSslProtocol();
-        case "sslprovider":
-        case "sslProvider": return target.getConfiguration().getSslProvider();
-        case "sslsecurerandomimplementation":
-        case "sslSecureRandomImplementation": return target.getConfiguration().getSslSecureRandomImplementation();
-        case "ssltrustmanageralgorithm":
-        case "sslTrustmanagerAlgorithm": return target.getConfiguration().getSslTrustmanagerAlgorithm();
-        case "ssltruststorecertificates":
-        case "sslTruststoreCertificates": return target.getConfiguration().getSslTruststoreCertificates();
-        case "ssltruststorelocation":
-        case "sslTruststoreLocation": return target.getConfiguration().getSslTruststoreLocation();
-        case "ssltruststorepassword":
-        case "sslTruststorePassword": return target.getConfiguration().getSslTruststorePassword();
-        case "ssltruststoretype":
-        case "sslTruststoreType": return target.getConfiguration().getSslTruststoreType();
-        case "transactiontimeoutms":
-        case "transactionTimeoutMs": return target.getConfiguration().getTransactionTimeoutMs();
-        case "transactionalid":
-        case "transactionalId": return target.getConfiguration().getTransactionalId();
-        case "valuedeserializer":
-        case "valueDeserializer": return target.getConfiguration().getValueDeserializer();
-        case "valueserializer":
-        case "valueSerializer": return target.getConfiguration().getValueSerializer();
-        default: return null;
-        }
-    }
-
-    @Override
-    public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
-        switch (ignoreCase ? name.toLowerCase() : name) {
-        case "additionalproperties":
-        case "additionalProperties": return java.lang.Object.class;
-        default: return null;
-        }
-    }
-}
-
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpointUriFactory.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpointUriFactory.java
deleted file mode 100644
index 630b1718557..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpointUriFactory.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Generated by camel build tools - do NOT edit this file! */
-package org.apache.camel.component.vertx.kafka;
-
-import java.net.URISyntaxException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.spi.EndpointUriFactory;
-
-/**
- * Generated by camel build tools - do NOT edit this file!
- */
-public class VertxKafkaEndpointUriFactory extends org.apache.camel.support.component.EndpointUriFactorySupport implements EndpointUriFactory {
-
-    private static final String BASE = ":topic";
-
-    private static final Set<String> PROPERTY_NAMES;
-    private static final Set<String> SECRET_PROPERTY_NAMES;
-    private static final Set<String> MULTI_VALUE_PREFIXES;
-    static {
-        Set<String> props = new HashSet<>(103);
-        props.add("acks");
-        props.add("additionalProperties");
-        props.add("allowAutoCreateTopics");
-        props.add("allowManualCommit");
-        props.add("autoCommitIntervalMs");
-        props.add("autoOffsetReset");
-        props.add("batchSize");
-        props.add("bootstrapServers");
-        props.add("bridgeErrorHandler");
-        props.add("bufferMemory");
-        props.add("checkCrcs");
-        props.add("clientDnsLookup");
-        props.add("clientId");
-        props.add("clientRack");
-        props.add("compressionType");
-        props.add("connectionsMaxIdleMs");
-        props.add("defaultApiTimeoutMs");
-        props.add("deliveryTimeoutMs");
-        props.add("enableAutoCommit");
-        props.add("enableIdempotence");
-        props.add("exceptionHandler");
-        props.add("exchangePattern");
-        props.add("excludeInternalTopics");
-        props.add("fetchMaxBytes");
-        props.add("fetchMaxWaitMs");
-        props.add("fetchMinBytes");
-        props.add("groupId");
-        props.add("groupInstanceId");
-        props.add("headerFilterStrategy");
-        props.add("heartbeatIntervalMs");
-        props.add("interceptorClasses");
-        props.add("isolationLevel");
-        props.add("keyDeserializer");
-        props.add("keySerializer");
-        props.add("lazyStartProducer");
-        props.add("lingerMs");
-        props.add("maxBlockMs");
-        props.add("maxInFlightRequestsPerConnection");
-        props.add("maxPartitionFetchBytes");
-        props.add("maxPollIntervalMs");
-        props.add("maxPollRecords");
-        props.add("maxRequestSize");
-        props.add("metadataMaxAgeMs");
-        props.add("metadataMaxIdleMs");
-        props.add("metricReporters");
-        props.add("metricsNumSamples");
-        props.add("metricsRecordingLevel");
-        props.add("metricsSampleWindowMs");
-        props.add("partitionAssignmentStrategy");
-        props.add("partitionId");
-        props.add("partitionerClass");
-        props.add("receiveBufferBytes");
-        props.add("reconnectBackoffMaxMs");
-        props.add("reconnectBackoffMs");
-        props.add("requestTimeoutMs");
-        props.add("retries");
-        props.add("retryBackoffMs");
-        props.add("saslClientCallbackHandlerClass");
-        props.add("saslJaasConfig");
-        props.add("saslKerberosKinitCmd");
-        props.add("saslKerberosMinTimeBeforeRelogin");
-        props.add("saslKerberosServiceName");
-        props.add("saslKerberosTicketRenewJitter");
-        props.add("saslKerberosTicketRenewWindowFactor");
-        props.add("saslLoginCallbackHandlerClass");
-        props.add("saslLoginClass");
-        props.add("saslLoginRefreshBufferSeconds");
-        props.add("saslLoginRefreshMinPeriodSeconds");
-        props.add("saslLoginRefreshWindowFactor");
-        props.add("saslLoginRefreshWindowJitter");
-        props.add("saslMechanism");
-        props.add("securityProtocol");
-        props.add("securityProviders");
-        props.add("seekToOffset");
-        props.add("seekToPosition");
-        props.add("sendBufferBytes");
-        props.add("sessionTimeoutMs");
-        props.add("socketConnectionSetupTimeoutMaxMs");
-        props.add("socketConnectionSetupTimeoutMs");
-        props.add("sslCipherSuites");
-        props.add("sslEnabledProtocols");
-        props.add("sslEndpointIdentificationAlgorithm");
-        props.add("sslEngineFactoryClass");
-        props.add("sslKeyPassword");
-        props.add("sslKeymanagerAlgorithm");
-        props.add("sslKeystoreCertificateChain");
-        props.add("sslKeystoreKey");
-        props.add("sslKeystoreLocation");
-        props.add("sslKeystorePassword");
-        props.add("sslKeystoreType");
-        props.add("sslProtocol");
-        props.add("sslProvider");
-        props.add("sslSecureRandomImplementation");
-        props.add("sslTrustmanagerAlgorithm");
-        props.add("sslTruststoreCertificates");
-        props.add("sslTruststoreLocation");
-        props.add("sslTruststorePassword");
-        props.add("sslTruststoreType");
-        props.add("topic");
-        props.add("transactionTimeoutMs");
-        props.add("transactionalId");
-        props.add("valueDeserializer");
-        props.add("valueSerializer");
-        PROPERTY_NAMES = Collections.unmodifiableSet(props);
-        SECRET_PROPERTY_NAMES = Collections.emptySet();
-        Set<String> prefixes = new HashSet<>(1);
-        prefixes.add("additionalProperties.");
-        MULTI_VALUE_PREFIXES = Collections.unmodifiableSet(prefixes);
-    }
-
-    @Override
-    public boolean isEnabled(String scheme) {
-        return "vertx-kafka".equals(scheme);
-    }
-
-    @Override
-    public String buildUri(String scheme, Map<String, Object> properties, boolean encode) throws URISyntaxException {
-        String syntax = scheme + BASE;
-        String uri = syntax;
-
-        Map<String, Object> copy = new HashMap<>(properties);
-
-        uri = buildPathParameter(syntax, uri, "topic", null, true, copy);
-        uri = buildQueryParameters(uri, copy, encode);
-        return uri;
-    }
-
-    @Override
-    public Set<String> propertyNames() {
-        return PROPERTY_NAMES;
-    }
-
-    @Override
-    public Set<String> secretPropertyNames() {
-        return SECRET_PROPERTY_NAMES;
-    }
-
-    @Override
-    public Set<String> multiValuePrefixes() {
-        return MULTI_VALUE_PREFIXES;
-    }
-
-    @Override
-    public boolean isLenientProperties() {
-        return false;
-    }
-}
-
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/configuration/VertxKafkaConfiguration.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/configuration/VertxKafkaConfiguration.java
deleted file mode 100644
index 013d5443530..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/java/org/apache/camel/component/vertx/kafka/configuration/VertxKafkaConfiguration.java
+++ /dev/null
@@ -1,1960 +0,0 @@
-package org.apache.camel.component.vertx.kafka.configuration;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.spi.UriParams;
-import org.apache.camel.spi.UriPath;
-import org.apache.camel.util.ObjectHelper;
-
-@UriParams
-public class VertxKafkaConfiguration
-        extends
-            BaseVertxKafkaConfiguration
-        implements
-            Cloneable {
-
-    // partition.id
-    @UriParam(label = "common")
-    private Integer partitionId;
-    // topic
-    @UriPath(label = "common")
-    @Metadata(required = true)
-    private String topic;
-    // bootstrap.servers
-    @UriParam(label = "common")
-    private String bootstrapServers;
-    // client.dns.lookup
-    @UriParam(label = "common", defaultValue = "use_all_dns_ips", enums = "default,use_all_dns_ips,resolve_canonical_bootstrap_servers_only")
-    private String clientDnsLookup = "use_all_dns_ips";
-    // metadata.max.age.ms
-    @UriParam(label = "common", defaultValue = "5m", javaType = "java.time.Duration")
-    private long metadataMaxAgeMs = 300000;
-    // client.id
-    @UriParam(label = "common")
-    private String clientId;
-    // send.buffer.bytes
-    @UriParam(label = "common", defaultValue = "131072")
-    private int sendBufferBytes = 131072;
-    // receive.buffer.bytes
-    @UriParam(label = "common", defaultValue = "32768")
-    private int receiveBufferBytes = 32768;
-    // reconnect.backoff.ms
-    @UriParam(label = "common", defaultValue = "50ms", javaType = "java.time.Duration")
-    private long reconnectBackoffMs = 50;
-    // reconnect.backoff.max.ms
-    @UriParam(label = "common", defaultValue = "1s", javaType = "java.time.Duration")
-    private long reconnectBackoffMaxMs = 1000;
-    // retry.backoff.ms
-    @UriParam(label = "common", defaultValue = "100ms", javaType = "java.time.Duration")
-    private long retryBackoffMs = 100;
-    // metrics.sample.window.ms
-    @UriParam(label = "common", defaultValue = "30s", javaType = "java.time.Duration")
-    private long metricsSampleWindowMs = 30000;
-    // metrics.num.samples
-    @UriParam(label = "common", defaultValue = "2")
-    private int metricsNumSamples = 2;
-    // metrics.recording.level
-    @UriParam(label = "common", defaultValue = "INFO", enums = "INFO,DEBUG,TRACE")
-    private String metricsRecordingLevel = "INFO";
-    // metric.reporters
-    @UriParam(label = "common")
-    private String metricReporters;
-    // request.timeout.ms
-    @UriParam(label = "common", defaultValue = "30s", javaType = "java.time.Duration")
-    private int requestTimeoutMs = 30000;
-    // socket.connection.setup.timeout.ms
-    @UriParam(label = "common", defaultValue = "10s", javaType = "java.time.Duration")
-    private long socketConnectionSetupTimeoutMs = 10000;
-    // socket.connection.setup.timeout.max.ms
-    @UriParam(label = "common", defaultValue = "30s", javaType = "java.time.Duration")
-    private long socketConnectionSetupTimeoutMaxMs = 30000;
-    // connections.max.idle.ms
-    @UriParam(label = "common", defaultValue = "9m", javaType = "java.time.Duration")
-    private long connectionsMaxIdleMs = 540000;
-    // interceptor.classes
-    @UriParam(label = "common")
-    private String interceptorClasses;
-    // security.providers
-    @UriParam(label = "common,security")
-    private String securityProviders;
-    // security.protocol
-    @UriParam(label = "common,security", defaultValue = "PLAINTEXT")
-    private String securityProtocol = "PLAINTEXT";
-    // ssl.protocol
-    @UriParam(label = "common,security", defaultValue = "TLSv1.2")
-    private String sslProtocol = "TLSv1.2";
-    // ssl.provider
-    @UriParam(label = "common,security")
-    private String sslProvider;
-    // ssl.cipher.suites
-    @UriParam(label = "common,security")
-    private String sslCipherSuites;
-    // ssl.enabled.protocols
-    @UriParam(label = "common,security", defaultValue = "TLSv1.2,TLSv1.3")
-    private String sslEnabledProtocols = "TLSv1.2,TLSv1.3";
-    // ssl.keystore.type
-    @UriParam(label = "common,security", defaultValue = "JKS")
-    private String sslKeystoreType = "JKS";
-    // ssl.keystore.location
-    @UriParam(label = "common,security")
-    private String sslKeystoreLocation;
-    // ssl.keystore.password
-    @UriParam(label = "common,security")
-    private String sslKeystorePassword;
-    // ssl.key.password
-    @UriParam(label = "common,security")
-    private String sslKeyPassword;
-    // ssl.keystore.key
-    @UriParam(label = "common,security")
-    private String sslKeystoreKey;
-    // ssl.keystore.certificate.chain
-    @UriParam(label = "common,security")
-    private String sslKeystoreCertificateChain;
-    // ssl.truststore.certificates
-    @UriParam(label = "common,security")
-    private String sslTruststoreCertificates;
-    // ssl.truststore.type
-    @UriParam(label = "common,security", defaultValue = "JKS")
-    private String sslTruststoreType = "JKS";
-    // ssl.truststore.location
-    @UriParam(label = "common,security")
-    private String sslTruststoreLocation;
-    // ssl.truststore.password
-    @UriParam(label = "common,security")
-    private String sslTruststorePassword;
-    // ssl.keymanager.algorithm
-    @UriParam(label = "common,security", defaultValue = "SunX509")
-    private String sslKeymanagerAlgorithm = "SunX509";
-    // ssl.trustmanager.algorithm
-    @UriParam(label = "common,security", defaultValue = "PKIX")
-    private String sslTrustmanagerAlgorithm = "PKIX";
-    // ssl.endpoint.identification.algorithm
-    @UriParam(label = "common,security", defaultValue = "https")
-    private String sslEndpointIdentificationAlgorithm = "https";
-    // ssl.secure.random.implementation
-    @UriParam(label = "common,security")
-    private String sslSecureRandomImplementation;
-    // ssl.engine.factory.class
-    @UriParam(label = "common,security")
-    private String sslEngineFactoryClass;
-    // sasl.kerberos.service.name
-    @UriParam(label = "common,security")
-    private String saslKerberosServiceName;
-    // sasl.kerberos.kinit.cmd
-    @UriParam(label = "common,security", defaultValue = "/usr/bin/kinit")
-    private String saslKerberosKinitCmd = "/usr/bin/kinit";
-    // sasl.kerberos.ticket.renew.window.factor
-    @UriParam(label = "common,security", defaultValue = "0.8")
-    private double saslKerberosTicketRenewWindowFactor = 0.8;
-    // sasl.kerberos.ticket.renew.jitter
-    @UriParam(label = "common,security", defaultValue = "0.05")
-    private double saslKerberosTicketRenewJitter = 0.05;
-    // sasl.kerberos.min.time.before.relogin
-    @UriParam(label = "common,security", defaultValue = "60000")
-    private long saslKerberosMinTimeBeforeRelogin = 60000;
-    // sasl.login.refresh.window.factor
-    @UriParam(label = "common,security", defaultValue = "0.8")
-    private double saslLoginRefreshWindowFactor = 0.8;
-    // sasl.login.refresh.window.jitter
-    @UriParam(label = "common,security", defaultValue = "0.05")
-    private double saslLoginRefreshWindowJitter = 0.05;
-    // sasl.login.refresh.min.period.seconds
-    @UriParam(label = "common,security", defaultValue = "60")
-    private short saslLoginRefreshMinPeriodSeconds = 60;
-    // sasl.login.refresh.buffer.seconds
-    @UriParam(label = "common,security", defaultValue = "300")
-    private short saslLoginRefreshBufferSeconds = 300;
-    // sasl.mechanism
-    @UriParam(label = "common,security", defaultValue = "GSSAPI")
-    private String saslMechanism = "GSSAPI";
-    // sasl.jaas.config
-    @UriParam(label = "common,security")
-    private String saslJaasConfig;
-    // sasl.client.callback.handler.class
-    @UriParam(label = "common,security")
-    private String saslClientCallbackHandlerClass;
-    // sasl.login.callback.handler.class
-    @UriParam(label = "common,security")
-    private String saslLoginCallbackHandlerClass;
-    // sasl.login.class
-    @UriParam(label = "common,security")
-    private String saslLoginClass;
-    // Additional properties
-    @UriParam(label = "common", prefix = "additionalProperties.", multiValue = true)
-    private Map<String, Object> additionalProperties = new HashMap<>();
-    // seek.to.offset
-    @UriParam(label = "consumer")
-    private Long seekToOffset;
-    // seek.to.position
-    @UriParam(label = "consumer", enums = "beginning,end")
-    private String seekToPosition;
-    // group.id
-    @UriParam(label = "consumer")
-    private String groupId;
-    // group.instance.id
-    @UriParam(label = "consumer")
-    private String groupInstanceId;
-    // session.timeout.ms
-    @UriParam(label = "consumer", defaultValue = "10s", javaType = "java.time.Duration")
-    private int sessionTimeoutMs = 10000;
-    // heartbeat.interval.ms
-    @UriParam(label = "consumer", defaultValue = "3s", javaType = "java.time.Duration")
-    private int heartbeatIntervalMs = 3000;
-    // partition.assignment.strategy
-    @UriParam(label = "consumer", defaultValue = "org.apache.kafka.clients.consumer.RangeAssignor")
-    private String partitionAssignmentStrategy = "org.apache.kafka.clients.consumer.RangeAssignor";
-    // enable.auto.commit
-    @UriParam(label = "consumer", defaultValue = "true")
-    private boolean enableAutoCommit = true;
-    // auto.commit.interval.ms
-    @UriParam(label = "consumer", defaultValue = "5s", javaType = "java.time.Duration")
-    private int autoCommitIntervalMs = 5000;
-    // client.rack
-    @UriParam(label = "consumer")
-    private String clientRack;
-    // max.partition.fetch.bytes
-    @UriParam(label = "consumer", defaultValue = "1048576")
-    private int maxPartitionFetchBytes = 1048576;
-    // fetch.min.bytes
-    @UriParam(label = "consumer", defaultValue = "1")
-    private int fetchMinBytes = 1;
-    // fetch.max.bytes
-    @UriParam(label = "consumer", defaultValue = "52428800")
-    private int fetchMaxBytes = 52428800;
-    // fetch.max.wait.ms
-    @UriParam(label = "consumer", defaultValue = "500ms", javaType = "java.time.Duration")
-    private int fetchMaxWaitMs = 500;
-    // auto.offset.reset
-    @UriParam(label = "consumer", defaultValue = "latest", enums = "latest,earliest,none")
-    private String autoOffsetReset = "latest";
-    // check.crcs
-    @UriParam(label = "consumer", defaultValue = "true")
-    private boolean checkCrcs = true;
-    // key.deserializer
-    @UriParam(label = "consumer", defaultValue = "org.apache.kafka.common.serialization.StringDeserializer")
-    private String keyDeserializer = "org.apache.kafka.common.serialization.StringDeserializer";
-    // value.deserializer
-    @UriParam(label = "consumer", defaultValue = "org.apache.kafka.common.serialization.StringDeserializer")
-    private String valueDeserializer = "org.apache.kafka.common.serialization.StringDeserializer";
-    // default.api.timeout.ms
-    @UriParam(label = "consumer", defaultValue = "1m", javaType = "java.time.Duration")
-    private int defaultApiTimeoutMs = 60000;
-    // max.poll.records
-    @UriParam(label = "consumer", defaultValue = "500")
-    private int maxPollRecords = 500;
-    // max.poll.interval.ms
-    @UriParam(label = "consumer", defaultValue = "5m", javaType = "java.time.Duration")
-    private int maxPollIntervalMs = 300000;
-    // exclude.internal.topics
-    @UriParam(label = "consumer", defaultValue = "true")
-    private boolean excludeInternalTopics = true;
-    // isolation.level
-    @UriParam(label = "consumer", defaultValue = "read_uncommitted", enums = "read_committed,read_uncommitted")
-    private String isolationLevel = "read_uncommitted";
-    // allow.auto.create.topics
-    @UriParam(label = "consumer", defaultValue = "true")
-    private boolean allowAutoCreateTopics = true;
-    // buffer.memory
-    @UriParam(label = "producer", defaultValue = "33554432")
-    private long bufferMemory = 33554432;
-    // retries
-    @UriParam(label = "producer", defaultValue = "2147483647")
-    private int retries = 2147483647;
-    // acks
-    @UriParam(label = "producer", defaultValue = "1", enums = "all,-1,0,1")
-    private String acks = "1";
-    // compression.type
-    @UriParam(label = "producer", defaultValue = "none")
-    private String compressionType = "none";
-    // batch.size
-    @UriParam(label = "producer", defaultValue = "16384")
-    private int batchSize = 16384;
-    // linger.ms
-    @UriParam(label = "producer", defaultValue = "0ms", javaType = "java.time.Duration")
-    private long lingerMs = 0;
-    // delivery.timeout.ms
-    @UriParam(label = "producer", defaultValue = "2m", javaType = "java.time.Duration")
-    private int deliveryTimeoutMs = 120000;
-    // max.request.size
-    @UriParam(label = "producer", defaultValue = "1048576")
-    private int maxRequestSize = 1048576;
-    // max.block.ms
-    @UriParam(label = "producer", defaultValue = "1m", javaType = "java.time.Duration")
-    private long maxBlockMs = 60000;
-    // metadata.max.idle.ms
-    @UriParam(label = "producer", defaultValue = "5m", javaType = "java.time.Duration")
-    private long metadataMaxIdleMs = 300000;
-    // max.in.flight.requests.per.connection
-    @UriParam(label = "producer", defaultValue = "5")
-    private int maxInFlightRequestsPerConnection = 5;
-    // key.serializer
-    @UriParam(label = "producer", defaultValue = "org.apache.kafka.common.serialization.StringSerializer")
-    private String keySerializer = "org.apache.kafka.common.serialization.StringSerializer";
-    // value.serializer
-    @UriParam(label = "producer", defaultValue = "org.apache.kafka.common.serialization.StringSerializer")
-    private String valueSerializer = "org.apache.kafka.common.serialization.StringSerializer";
-    // partitioner.class
-    @UriParam(label = "producer", defaultValue = "org.apache.kafka.clients.producer.internals.DefaultPartitioner")
-    private String partitionerClass = "org.apache.kafka.clients.producer.internals.DefaultPartitioner";
-    // enable.idempotence
-    @UriParam(label = "producer", defaultValue = "false")
-    private boolean enableIdempotence = false;
-    // transaction.timeout.ms
-    @UriParam(label = "producer", defaultValue = "1m", javaType = "java.time.Duration")
-    private int transactionTimeoutMs = 60000;
-    // transactional.id
-    @UriParam(label = "producer")
-    private String transactionalId;
-
-    /**
-     * The partition to which the record will be sent (or null if no partition
-     * was specified) or read from a particular partition if set. Header {@link
-     * VertxKafkaConstants#PARTITION_ID} If configured,
-     * it will take precedence over this config
-     */
-    public void setPartitionId(Integer partitionId) {
-        this.partitionId = partitionId;
-    }
-
-    public Integer getPartitionId() {
-        return partitionId;
-    }
-
-    /**
-     * Name of the topic to use. On the consumer you can use comma to separate
-     * multiple topics. A producer can only send
-     * a message to a single topic.
-     */
-    public void setTopic(String topic) {
-        this.topic = topic;
-    }
-
-    public String getTopic() {
-        return topic;
-    }
-
-    /**
-     * A list of host/port pairs to use for establishing the initial connection
-     * to the Kafka cluster. The client will make use of all servers
-     * irrespective of which servers are specified here for
-     * bootstrapping&mdash;this list only impacts the initial hosts used to
-     * discover the full set of servers. This list should be in the form
-     * <code>host1:port1,host2:port2,...</code>. Since these servers are just
-     * used for the initial connection to discover the full cluster membership
-     * (which may change dynamically), this list need not contain the full set
-     * of servers (you may want more than one, though, in case a server is
-     * down).
-     */
-    public void setBootstrapServers(String bootstrapServers) {
-        this.bootstrapServers = bootstrapServers;
-    }
-
-    public String getBootstrapServers() {
-        return bootstrapServers;
-    }
-
-    /**
-     * Controls how the client uses DNS lookups. If set to
-     * <code>use_all_dns_ips</code>, connect to each returned IP address in
-     * sequence until a successful connection is established. After a
-     * disconnection, the next IP is used. Once all IPs have been used once, the
-     * client resolves the IP(s) from the hostname again (both the JVM and the
-     * OS cache DNS name lookups, however). If set to
-     * <code>resolve_canonical_bootstrap_servers_only</code>, resolve each
-     * bootstrap address into a list of canonical names. After the bootstrap
-     * phase, this behaves the same as <code>use_all_dns_ips</code>. If set to
-     * <code>default</code> (deprecated), attempt to connect to the first IP
-     * address returned by the lookup, even if the lookup returns multiple IP
-     * addresses.
-     */
-    public void setClientDnsLookup(String clientDnsLookup) {
-        this.clientDnsLookup = clientDnsLookup;
-    }
-
-    public String getClientDnsLookup() {
-        return clientDnsLookup;
-    }
-
-    /**
-     * The period of time in milliseconds after which we force a refresh of
-     * metadata even if we haven't seen any partition leadership changes to
-     * proactively discover any new brokers or partitions.
-     */
-    public void setMetadataMaxAgeMs(long metadataMaxAgeMs) {
-        this.metadataMaxAgeMs = metadataMaxAgeMs;
-    }
-
-    public long getMetadataMaxAgeMs() {
-        return metadataMaxAgeMs;
-    }
-
-    /**
-     * An id string to pass to the server when making requests. The purpose of
-     * this is to be able to track the source of requests beyond just ip/port by
-     * allowing a logical application name to be included in server-side request
-     * logging.
-     */
-    public void setClientId(String clientId) {
-        this.clientId = clientId;
-    }
-
-    public String getClientId() {
-        return clientId;
-    }
-
-    /**
-     * The size of the TCP send buffer (SO_SNDBUF) to use when sending data. If
-     * the value is -1, the OS default will be used.
-     */
-    public void setSendBufferBytes(int sendBufferBytes) {
-        this.sendBufferBytes = sendBufferBytes;
-    }
-
-    public int getSendBufferBytes() {
-        return sendBufferBytes;
-    }
-
-    /**
-     * The size of the TCP receive buffer (SO_RCVBUF) to use when reading data.
-     * If the value is -1, the OS default will be used.
-     */
-    public void setReceiveBufferBytes(int receiveBufferBytes) {
-        this.receiveBufferBytes = receiveBufferBytes;
-    }
-
-    public int getReceiveBufferBytes() {
-        return receiveBufferBytes;
-    }
-
-    /**
-     * The base amount of time to wait before attempting to reconnect to a given
-     * host. This avoids repeatedly connecting to a host in a tight loop. This
-     * backoff applies to all connection attempts by the client to a broker.
-     */
-    public void setReconnectBackoffMs(long reconnectBackoffMs) {
-        this.reconnectBackoffMs = reconnectBackoffMs;
-    }
-
-    public long getReconnectBackoffMs() {
-        return reconnectBackoffMs;
-    }
-
-    /**
-     * The maximum amount of time in milliseconds to wait when reconnecting to a
-     * broker that has repeatedly failed to connect. If provided, the backoff
-     * per host will increase exponentially for each consecutive connection
-     * failure, up to this maximum. After calculating the backoff increase, 20%
-     * random jitter is added to avoid connection storms.
-     */
-    public void setReconnectBackoffMaxMs(long reconnectBackoffMaxMs) {
-        this.reconnectBackoffMaxMs = reconnectBackoffMaxMs;
-    }
-
-    public long getReconnectBackoffMaxMs() {
-        return reconnectBackoffMaxMs;
-    }
-
-    /**
-     * The amount of time to wait before attempting to retry a failed request to
-     * a given topic partition. This avoids repeatedly sending requests in a
-     * tight loop under some failure scenarios.
-     */
-    public void setRetryBackoffMs(long retryBackoffMs) {
-        this.retryBackoffMs = retryBackoffMs;
-    }
-
-    public long getRetryBackoffMs() {
-        return retryBackoffMs;
-    }
-
-    /**
-     * The window of time a metrics sample is computed over.
-     */
-    public void setMetricsSampleWindowMs(long metricsSampleWindowMs) {
-        this.metricsSampleWindowMs = metricsSampleWindowMs;
-    }
-
-    public long getMetricsSampleWindowMs() {
-        return metricsSampleWindowMs;
-    }
-
-    /**
-     * The number of samples maintained to compute metrics.
-     */
-    public void setMetricsNumSamples(int metricsNumSamples) {
-        this.metricsNumSamples = metricsNumSamples;
-    }
-
-    public int getMetricsNumSamples() {
-        return metricsNumSamples;
-    }
-
-    /**
-     * The highest recording level for metrics.
-     */
-    public void setMetricsRecordingLevel(String metricsRecordingLevel) {
-        this.metricsRecordingLevel = metricsRecordingLevel;
-    }
-
-    public String getMetricsRecordingLevel() {
-        return metricsRecordingLevel;
-    }
-
-    /**
-     * A list of classes to use as metrics reporters. Implementing the
-     * <code>org.apache.kafka.common.metrics.MetricsReporter</code> interface
-     * allows plugging in classes that will be notified of new metric creation.
-     * The JmxReporter is always included to register JMX statistics.
-     */
-    public void setMetricReporters(String metricReporters) {
-        this.metricReporters = metricReporters;
-    }
-
-    public String getMetricReporters() {
-        return metricReporters;
-    }
-
-    /**
-     * The configuration controls the maximum amount of time the client will
-     * wait for the response of a request. If the response is not received
-     * before the timeout elapses the client will resend the request if
-     * necessary or fail the request if retries are exhausted. This should be
-     * larger than <code>replica.lag.time.max.ms</code> (a broker configuration)
-     * to reduce the possibility of message duplication due to unnecessary
-     * producer retries.
-     */
-    public void setRequestTimeoutMs(int requestTimeoutMs) {
-        this.requestTimeoutMs = requestTimeoutMs;
-    }
-
-    public int getRequestTimeoutMs() {
-        return requestTimeoutMs;
-    }
-
-    /**
-     * The amount of time the client will wait for the socket connection to be
-     * established. If the connection is not built before the timeout elapses,
-     * clients will close the socket channel.
-     */
-    public void setSocketConnectionSetupTimeoutMs(
-            long socketConnectionSetupTimeoutMs) {
-        this.socketConnectionSetupTimeoutMs = socketConnectionSetupTimeoutMs;
-    }
-
-    public long getSocketConnectionSetupTimeoutMs() {
-        return socketConnectionSetupTimeoutMs;
-    }
-
-    /**
-     * The maximum amount of time the client will wait for the socket connection
-     * to be established. The connection setup timeout will increase
-     * exponentially for each consecutive connection failure up to this maximum.
-     * To avoid connection storms, a randomization factor of 0.2 will be applied
-     * to the timeout resulting in a random range between 20% below and 20%
-     * above the computed value.
-     */
-    public void setSocketConnectionSetupTimeoutMaxMs(
-            long socketConnectionSetupTimeoutMaxMs) {
-        this.socketConnectionSetupTimeoutMaxMs = socketConnectionSetupTimeoutMaxMs;
-    }
-
-    public long getSocketConnectionSetupTimeoutMaxMs() {
-        return socketConnectionSetupTimeoutMaxMs;
-    }
-
-    /**
-     * Close idle connections after the number of milliseconds specified by this
-     * config.
-     */
-    public void setConnectionsMaxIdleMs(long connectionsMaxIdleMs) {
-        this.connectionsMaxIdleMs = connectionsMaxIdleMs;
-    }
-
-    public long getConnectionsMaxIdleMs() {
-        return connectionsMaxIdleMs;
-    }
-
-    /**
-     * A list of classes to use as interceptors. Implementing the
-     * <code>org.apache.kafka.clients.producer.ProducerInterceptor</code>
-     * interface allows you to intercept (and possibly mutate) the records
-     * received by the producer before they are published to the Kafka cluster.
-     * By default, there are no interceptors.
-     */
-    public void setInterceptorClasses(String interceptorClasses) {
-        this.interceptorClasses = interceptorClasses;
-    }
-
-    public String getInterceptorClasses() {
-        return interceptorClasses;
-    }
-
-    /**
-     * A list of configurable creator classes each returning a provider
-     * implementing security algorithms. These classes should implement the
-     * <code>org.apache.kafka.common.security.auth.SecurityProviderCreator</code> interface.
-     */
-    public void setSecurityProviders(String securityProviders) {
-        this.securityProviders = securityProviders;
-    }
-
-    public String getSecurityProviders() {
-        return securityProviders;
-    }
-
-    /**
-     * Protocol used to communicate with brokers. Valid values are: PLAINTEXT,
-     * SSL, SASL_PLAINTEXT, SASL_SSL.
-     */
-    public void setSecurityProtocol(String securityProtocol) {
-        this.securityProtocol = securityProtocol;
-    }
-
-    public String getSecurityProtocol() {
-        return securityProtocol;
-    }
-
-    /**
-     * The SSL protocol used to generate the SSLContext. The default is
-     * 'TLSv1.3' when running with Java 11 or newer, 'TLSv1.2' otherwise. This
-     * value should be fine for most use cases. Allowed values in recent JVMs
-     * are 'TLSv1.2' and 'TLSv1.3'. 'TLS', 'TLSv1.1', 'SSL', 'SSLv2' and 'SSLv3'
-     * may be supported in older JVMs, but their usage is discouraged due to
-     * known security vulnerabilities. With the default value for this config
-     * and 'ssl.enabled.protocols', clients will downgrade to 'TLSv1.2' if the
-     * server does not support 'TLSv1.3'. If this config is set to 'TLSv1.2',
-     * clients will not use 'TLSv1.3' even if it is one of the values in
-     * ssl.enabled.protocols and the server only supports 'TLSv1.3'.
-     */
-    public void setSslProtocol(String sslProtocol) {
-        this.sslProtocol = sslProtocol;
-    }
-
-    public String getSslProtocol() {
-        return sslProtocol;
-    }
-
-    /**
-     * The name of the security provider used for SSL connections. Default value
-     * is the default security provider of the JVM.
-     */
-    public void setSslProvider(String sslProvider) {
-        this.sslProvider = sslProvider;
-    }
-
-    public String getSslProvider() {
-        return sslProvider;
-    }
-
-    /**
-     * A list of cipher suites. This is a named combination of authentication,
-     * encryption, MAC and key exchange algorithm used to negotiate the security
-     * settings for a network connection using TLS or SSL network protocol. By
-     * default all the available cipher suites are supported.
-     */
-    public void setSslCipherSuites(String sslCipherSuites) {
-        this.sslCipherSuites = sslCipherSuites;
-    }
-
-    public String getSslCipherSuites() {
-        return sslCipherSuites;
-    }
-
-    /**
-     * The list of protocols enabled for SSL connections. The default is
-     * 'TLSv1.2,TLSv1.3' when running with Java 11 or newer, 'TLSv1.2'
-     * otherwise. With the default value for Java 11, clients and servers will
-     * prefer TLSv1.3 if both support it and fallback to TLSv1.2 otherwise
-     * (assuming both support at least TLSv1.2). This default should be fine for
-     * most cases. Also see the config documentation for `ssl.protocol`.
-     */
-    public void setSslEnabledProtocols(String sslEnabledProtocols) {
-        this.sslEnabledProtocols = sslEnabledProtocols;
-    }
-
-    public String getSslEnabledProtocols() {
-        return sslEnabledProtocols;
-    }
-
-    /**
-     * The file format of the key store file. This is optional for client.
-     */
-    public void setSslKeystoreType(String sslKeystoreType) {
-        this.sslKeystoreType = sslKeystoreType;
-    }
-
-    public String getSslKeystoreType() {
-        return sslKeystoreType;
-    }
-
-    /**
-     * The location of the key store file. This is optional for client and can
-     * be used for two-way authentication for client.
-     */
-    public void setSslKeystoreLocation(String sslKeystoreLocation) {
-        this.sslKeystoreLocation = sslKeystoreLocation;
-    }
-
-    public String getSslKeystoreLocation() {
-        return sslKeystoreLocation;
-    }
-
-    /**
-     * The store password for the key store file. This is optional for client
-     * and only needed if 'ssl.keystore.location' is configured.  Key store
-     * password is not supported for PEM format.
-     */
-    public void setSslKeystorePassword(String sslKeystorePassword) {
-        this.sslKeystorePassword = sslKeystorePassword;
-    }
-
-    public String getSslKeystorePassword() {
-        return sslKeystorePassword;
-    }
-
-    /**
-     * The password of the private key in the key store file orthe PEM key
-     * specified in `ssl.keystore.key'. This is required for clients only if
-     * two-way authentication is configured.
-     */
-    public void setSslKeyPassword(String sslKeyPassword) {
-        this.sslKeyPassword = sslKeyPassword;
-    }
-
-    public String getSslKeyPassword() {
-        return sslKeyPassword;
-    }
-
-    /**
-     * Private key in the format specified by 'ssl.keystore.type'. Default SSL
-     * engine factory supports only PEM format with PKCS#8 keys. If the key is
-     * encrypted, key password must be specified using 'ssl.key.password'
-     */
-    public void setSslKeystoreKey(String sslKeystoreKey) {
-        this.sslKeystoreKey = sslKeystoreKey;
-    }
-
-    public String getSslKeystoreKey() {
-        return sslKeystoreKey;
-    }
-
-    /**
-     * Certificate chain in the format specified by 'ssl.keystore.type'. Default
-     * SSL engine factory supports only PEM format with a list of X.509
-     * certificates
-     */
-    public void setSslKeystoreCertificateChain(
-            String sslKeystoreCertificateChain) {
-        this.sslKeystoreCertificateChain = sslKeystoreCertificateChain;
-    }
-
-    public String getSslKeystoreCertificateChain() {
-        return sslKeystoreCertificateChain;
-    }
-
-    /**
-     * Trusted certificates in the format specified by 'ssl.truststore.type'.
-     * Default SSL engine factory supports only PEM format with X.509
-     * certificates.
-     */
-    public void setSslTruststoreCertificates(String sslTruststoreCertificates) {
-        this.sslTruststoreCertificates = sslTruststoreCertificates;
-    }
-
-    public String getSslTruststoreCertificates() {
-        return sslTruststoreCertificates;
-    }
-
-    /**
-     * The file format of the trust store file.
-     */
-    public void setSslTruststoreType(String sslTruststoreType) {
-        this.sslTruststoreType = sslTruststoreType;
-    }
-
-    public String getSslTruststoreType() {
-        return sslTruststoreType;
-    }
-
-    /**
-     * The location of the trust store file. 
-     */
-    public void setSslTruststoreLocation(String sslTruststoreLocation) {
-        this.sslTruststoreLocation = sslTruststoreLocation;
-    }
-
-    public String getSslTruststoreLocation() {
-        return sslTruststoreLocation;
-    }
-
-    /**
-     * The password for the trust store file. If a password is not set, trust
-     * store file configured will still be used, but integrity checking is
-     * disabled. Trust store password is not supported for PEM format.
-     */
-    public void setSslTruststorePassword(String sslTruststorePassword) {
-        this.sslTruststorePassword = sslTruststorePassword;
-    }
-
-    public String getSslTruststorePassword() {
-        return sslTruststorePassword;
-    }
-
-    /**
-     * The algorithm used by key manager factory for SSL connections. Default
-     * value is the key manager factory algorithm configured for the Java
-     * Virtual Machine.
-     */
-    public void setSslKeymanagerAlgorithm(String sslKeymanagerAlgorithm) {
-        this.sslKeymanagerAlgorithm = sslKeymanagerAlgorithm;
-    }
-
-    public String getSslKeymanagerAlgorithm() {
-        return sslKeymanagerAlgorithm;
-    }
-
-    /**
-     * The algorithm used by trust manager factory for SSL connections. Default
-     * value is the trust manager factory algorithm configured for the Java
-     * Virtual Machine.
-     */
-    public void setSslTrustmanagerAlgorithm(String sslTrustmanagerAlgorithm) {
-        this.sslTrustmanagerAlgorithm = sslTrustmanagerAlgorithm;
-    }
-
-    public String getSslTrustmanagerAlgorithm() {
-        return sslTrustmanagerAlgorithm;
-    }
-
-    /**
-     * The endpoint identification algorithm to validate server hostname using
-     * server certificate. 
-     */
-    public void setSslEndpointIdentificationAlgorithm(
-            String sslEndpointIdentificationAlgorithm) {
-        this.sslEndpointIdentificationAlgorithm = sslEndpointIdentificationAlgorithm;
-    }
-
-    public String getSslEndpointIdentificationAlgorithm() {
-        return sslEndpointIdentificationAlgorithm;
-    }
-
-    /**
-     * The SecureRandom PRNG implementation to use for SSL cryptography
-     * operations. 
-     */
-    public void setSslSecureRandomImplementation(
-            String sslSecureRandomImplementation) {
-        this.sslSecureRandomImplementation = sslSecureRandomImplementation;
-    }
-
-    public String getSslSecureRandomImplementation() {
-        return sslSecureRandomImplementation;
-    }
-
-    /**
-     * The class of type org.apache.kafka.common.security.auth.SslEngineFactory
-     * to provide SSLEngine objects. Default value is
-     * org.apache.kafka.common.security.ssl.DefaultSslEngineFactory
-     */
-    public void setSslEngineFactoryClass(String sslEngineFactoryClass) {
-        this.sslEngineFactoryClass = sslEngineFactoryClass;
-    }
-
-    public String getSslEngineFactoryClass() {
-        return sslEngineFactoryClass;
-    }
-
-    /**
-     * The Kerberos principal name that Kafka runs as. This can be defined
-     * either in Kafka's JAAS config or in Kafka's config.
-     */
-    public void setSaslKerberosServiceName(String saslKerberosServiceName) {
-        this.saslKerberosServiceName = saslKerberosServiceName;
-    }
-
-    public String getSaslKerberosServiceName() {
-        return saslKerberosServiceName;
-    }
-
-    /**
-     * Kerberos kinit command path.
-     */
-    public void setSaslKerberosKinitCmd(String saslKerberosKinitCmd) {
-        this.saslKerberosKinitCmd = saslKerberosKinitCmd;
-    }
-
-    public String getSaslKerberosKinitCmd() {
-        return saslKerberosKinitCmd;
-    }
-
-    /**
-     * Login thread will sleep until the specified window factor of time from
-     * last refresh to ticket's expiry has been reached, at which time it will
-     * try to renew the ticket.
-     */
-    public void setSaslKerberosTicketRenewWindowFactor(
-            double saslKerberosTicketRenewWindowFactor) {
-        this.saslKerberosTicketRenewWindowFactor = saslKerberosTicketRenewWindowFactor;
-    }
-
-    public double getSaslKerberosTicketRenewWindowFactor() {
-        return saslKerberosTicketRenewWindowFactor;
-    }
-
-    /**
-     * Percentage of random jitter added to the renewal time.
-     */
-    public void setSaslKerberosTicketRenewJitter(
-            double saslKerberosTicketRenewJitter) {
-        this.saslKerberosTicketRenewJitter = saslKerberosTicketRenewJitter;
-    }
-
-    public double getSaslKerberosTicketRenewJitter() {
-        return saslKerberosTicketRenewJitter;
-    }
-
-    /**
-     * Login thread sleep time between refresh attempts.
-     */
-    public void setSaslKerberosMinTimeBeforeRelogin(
-            long saslKerberosMinTimeBeforeRelogin) {
-        this.saslKerberosMinTimeBeforeRelogin = saslKerberosMinTimeBeforeRelogin;
-    }
-
-    public long getSaslKerberosMinTimeBeforeRelogin() {
-        return saslKerberosMinTimeBeforeRelogin;
-    }
-
-    /**
-     * Login refresh thread will sleep until the specified window factor
-     * relative to the credential's lifetime has been reached, at which time it
-     * will try to refresh the credential. Legal values are between 0.5 (50%)
-     * and 1.0 (100%) inclusive; a default value of 0.8 (80%) is used if no
-     * value is specified. Currently applies only to OAUTHBEARER.
-     */
-    public void setSaslLoginRefreshWindowFactor(
-            double saslLoginRefreshWindowFactor) {
-        this.saslLoginRefreshWindowFactor = saslLoginRefreshWindowFactor;
-    }
-
-    public double getSaslLoginRefreshWindowFactor() {
-        return saslLoginRefreshWindowFactor;
-    }
-
-    /**
-     * The maximum amount of random jitter relative to the credential's lifetime
-     * that is added to the login refresh thread's sleep time. Legal values are
-     * between 0 and 0.25 (25%) inclusive; a default value of 0.05 (5%) is used
-     * if no value is specified. Currently applies only to OAUTHBEARER.
-     */
-    public void setSaslLoginRefreshWindowJitter(
-            double saslLoginRefreshWindowJitter) {
-        this.saslLoginRefreshWindowJitter = saslLoginRefreshWindowJitter;
-    }
-
-    public double getSaslLoginRefreshWindowJitter() {
-        return saslLoginRefreshWindowJitter;
-    }
-
-    /**
-     * The desired minimum time for the login refresh thread to wait before
-     * refreshing a credential, in seconds. Legal values are between 0 and 900
-     * (15 minutes); a default value of 60 (1 minute) is used if no value is
-     * specified.  This value and  sasl.login.refresh.buffer.seconds are both
-     * ignored if their sum exceeds the remaining lifetime of a credential.
-     * Currently applies only to OAUTHBEARER.
-     */
-    public void setSaslLoginRefreshMinPeriodSeconds(
-            short saslLoginRefreshMinPeriodSeconds) {
-        this.saslLoginRefreshMinPeriodSeconds = saslLoginRefreshMinPeriodSeconds;
-    }
-
-    public short getSaslLoginRefreshMinPeriodSeconds() {
-        return saslLoginRefreshMinPeriodSeconds;
-    }
-
-    /**
-     * The amount of buffer time before credential expiration to maintain when
-     * refreshing a credential, in seconds. If a refresh would otherwise occur
-     * closer to expiration than the number of buffer seconds then the refresh
-     * will be moved up to maintain as much of the buffer time as possible.
-     * Legal values are between 0 and 3600 (1 hour); a default value of  300 (5
-     * minutes) is used if no value is specified. This value and
-     * sasl.login.refresh.min.period.seconds are both ignored if their sum
-     * exceeds the remaining lifetime of a credential. Currently applies only to
-     * OAUTHBEARER.
-     */
-    public void setSaslLoginRefreshBufferSeconds(
-            short saslLoginRefreshBufferSeconds) {
-        this.saslLoginRefreshBufferSeconds = saslLoginRefreshBufferSeconds;
-    }
-
-    public short getSaslLoginRefreshBufferSeconds() {
-        return saslLoginRefreshBufferSeconds;
-    }
-
-    /**
-     * SASL mechanism used for client connections. This may be any mechanism for
-     * which a security provider is available. GSSAPI is the default mechanism.
-     */
-    public void setSaslMechanism(String saslMechanism) {
-        this.saslMechanism = saslMechanism;
-    }
-
-    public String getSaslMechanism() {
-        return saslMechanism;
-    }
-
-    /**
-     * JAAS login context parameters for SASL connections in the format used by
-     * JAAS configuration files. JAAS configuration file format is described <a
-     * href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/LoginConfigFile.html">here</a>. The format for the value is: <code>loginModuleClass controlFlag (optionName=optionValue)*;</code>. For brokers, the config must be prefixed with listener prefix and SASL mechanism name in lower-case. For example, listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule required;
-     */
-    public void setSaslJaasConfig(String saslJaasConfig) {
-        this.saslJaasConfig = saslJaasConfig;
-    }
-
-    public String getSaslJaasConfig() {
-        return saslJaasConfig;
-    }
-
-    /**
-     * The fully qualified name of a SASL client callback handler class that
-     * implements the AuthenticateCallbackHandler interface.
-     */
-    public void setSaslClientCallbackHandlerClass(
-            String saslClientCallbackHandlerClass) {
-        this.saslClientCallbackHandlerClass = saslClientCallbackHandlerClass;
-    }
-
-    public String getSaslClientCallbackHandlerClass() {
-        return saslClientCallbackHandlerClass;
-    }
-
-    /**
-     * The fully qualified name of a SASL login callback handler class that
-     * implements the AuthenticateCallbackHandler interface. For brokers, login
-     * callback handler config must be prefixed with listener prefix and SASL
-     * mechanism name in lower-case. For example,
-     * listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler
-     */
-    public void setSaslLoginCallbackHandlerClass(
-            String saslLoginCallbackHandlerClass) {
-        this.saslLoginCallbackHandlerClass = saslLoginCallbackHandlerClass;
-    }
-
-    public String getSaslLoginCallbackHandlerClass() {
-        return saslLoginCallbackHandlerClass;
-    }
-
-    /**
-     * The fully qualified name of a class that implements the Login interface.
-     * For brokers, login config must be prefixed with listener prefix and SASL
-     * mechanism name in lower-case. For example,
-     * listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin
-     */
-    public void setSaslLoginClass(String saslLoginClass) {
-        this.saslLoginClass = saslLoginClass;
-    }
-
-    public String getSaslLoginClass() {
-        return saslLoginClass;
-    }
-
-    /**
-     * Sets additional properties for either kafka consumer or kafka producer in
-     * case they can't be set directly on the camel configurations (e.g: new
-     * Kafka properties that are not reflected yet in Camel configurations), the
-     * properties have to be prefixed with `additionalProperties.`. E.g:
-     * `additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http://localhost:8811/avro`
-     */
-    public void setAdditionalProperties(Map<String, Object> additionalProperties) {
-        this.additionalProperties = additionalProperties;
-    }
-
-    public Map<String, Object> getAdditionalProperties() {
-        return additionalProperties;
-    }
-
-    /**
-     * Set if KafkaConsumer will read from a particular offset on startup. This
-     * config will take precedence over seekTo config
-     */
-    public void setSeekToOffset(Long seekToOffset) {
-        this.seekToOffset = seekToOffset;
-    }
-
-    public Long getSeekToOffset() {
-        return seekToOffset;
-    }
-
-    /**
-     * Set if KafkaConsumer will read from beginning or end on startup:
-     * beginning : read from beginning end : read from end.
-     */
-    public void setSeekToPosition(String seekToPosition) {
-        this.seekToPosition = seekToPosition;
-    }
-
-    public String getSeekToPosition() {
-        return seekToPosition;
-    }
-
-    /**
-     * A unique string that identifies the consumer group this consumer belongs
-     * to. This property is required if the consumer uses either the group
-     * management functionality by using <code>subscribe(topic)</code> or the
-     * Kafka-based offset management strategy.
-     */
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    public String getGroupId() {
-        return groupId;
-    }
-
-    /**
-     * A unique identifier of the consumer instance provided by the end user.
-     * Only non-empty strings are permitted. If set, the consumer is treated as
-     * a static member, which means that only one instance with this ID is
-     * allowed in the consumer group at any time. This can be used in
-     * combination with a larger session timeout to avoid group rebalances
-     * caused by transient unavailability (e.g. process restarts). If not set,
-     * the consumer will join the group as a dynamic member, which is the
-     * traditional behavior.
-     */
-    public void setGroupInstanceId(String groupInstanceId) {
-        this.groupInstanceId = groupInstanceId;
-    }
-
-    public String getGroupInstanceId() {
-        return groupInstanceId;
-    }
-
-    /**
-     * The timeout used to detect client failures when using Kafka's group
-     * management facility. The client sends periodic heartbeats to indicate its
-     * liveness to the broker. If no heartbeats are received by the broker
-     * before the expiration of this session timeout, then the broker will
-     * remove this client from the group and initiate a rebalance. Note that the
-     * value must be in the allowable range as configured in the broker
-     * configuration by <code>group.min.session.timeout.ms</code> and
-     * <code>group.max.session.timeout.ms</code>.
-     */
-    public void setSessionTimeoutMs(int sessionTimeoutMs) {
-        this.sessionTimeoutMs = sessionTimeoutMs;
-    }
-
-    public int getSessionTimeoutMs() {
-        return sessionTimeoutMs;
-    }
-
-    /**
-     * The expected time between heartbeats to the consumer coordinator when
-     * using Kafka's group management facilities. Heartbeats are used to ensure
-     * that the consumer's session stays active and to facilitate rebalancing
-     * when new consumers join or leave the group. The value must be set lower
-     * than <code>session.timeout.ms</code>, but typically should be set no
-     * higher than 1/3 of that value. It can be adjusted even lower to control
-     * the expected time for normal rebalances.
-     */
-    public void setHeartbeatIntervalMs(int heartbeatIntervalMs) {
-        this.heartbeatIntervalMs = heartbeatIntervalMs;
-    }
-
-    public int getHeartbeatIntervalMs() {
-        return heartbeatIntervalMs;
-    }
-
-    /**
-     * A list of class names or class types, ordered by preference, of supported
-     * partition assignment strategies that the client will use to distribute
-     * partition ownership amongst consumer instances when group management is
-     * used. Available options
-     * are:<ul><li><code>org.apache.kafka.clients.consumer.RangeAssignor</code>:
-     * The default assignor, which works on a per-topic
-     * basis.</li><li><code>org.apache.kafka.clients.consumer.RoundRobinAssignor</code>: Assigns partitions to consumers in a round-robin fashion.</li><li><code>org.apache.kafka.clients.consumer.StickyAssignor</code>: Guarantees an assignment that is maximally balanced while preserving as many existing partition assignments as possible.</li><li><code>org.apache.kafka.clients.consumer.CooperativeStickyAssignor</code>: Follows the same StickyAssignor logic, but allows for cooperative rebal [...]
-     */
-    public void setPartitionAssignmentStrategy(
-            String partitionAssignmentStrategy) {
-        this.partitionAssignmentStrategy = partitionAssignmentStrategy;
-    }
-
-    public String getPartitionAssignmentStrategy() {
-        return partitionAssignmentStrategy;
-    }
-
-    /**
-     * If true the consumer's offset will be periodically committed in the
-     * background.
-     */
-    public void setEnableAutoCommit(boolean enableAutoCommit) {
-        this.enableAutoCommit = enableAutoCommit;
-    }
-
-    public boolean isEnableAutoCommit() {
-        return enableAutoCommit;
-    }
-
-    /**
-     * The frequency in milliseconds that the consumer offsets are
-     * auto-committed to Kafka if <code>enable.auto.commit</code> is set to
-     * <code>true</code>.
-     */
-    public void setAutoCommitIntervalMs(int autoCommitIntervalMs) {
-        this.autoCommitIntervalMs = autoCommitIntervalMs;
-    }
-
-    public int getAutoCommitIntervalMs() {
-        return autoCommitIntervalMs;
-    }
-
-    /**
-     * A rack identifier for this client. This can be any string value which
-     * indicates where this client is physically located. It corresponds with
-     * the broker config 'broker.rack'
-     */
-    public void setClientRack(String clientRack) {
-        this.clientRack = clientRack;
-    }
-
-    public String getClientRack() {
-        return clientRack;
-    }
-
-    /**
-     * The maximum amount of data per-partition the server will return. Records
-     * are fetched in batches by the consumer. If the first record batch in the
-     * first non-empty partition of the fetch is larger than this limit, the
-     * batch will still be returned to ensure that the consumer can make
-     * progress. The maximum record batch size accepted by the broker is defined
-     * via <code>message.max.bytes</code> (broker config) or
-     * <code>max.message.bytes</code> (topic config). See fetch.max.bytes for
-     * limiting the consumer request size.
-     */
-    public void setMaxPartitionFetchBytes(int maxPartitionFetchBytes) {
-        this.maxPartitionFetchBytes = maxPartitionFetchBytes;
-    }
-
-    public int getMaxPartitionFetchBytes() {
-        return maxPartitionFetchBytes;
-    }
-
-    /**
-     * The minimum amount of data the server should return for a fetch request.
-     * If insufficient data is available the request will wait for that much
-     * data to accumulate before answering the request. The default setting of 1
-     * byte means that fetch requests are answered as soon as a single byte of
-     * data is available or the fetch request times out waiting for data to
-     * arrive. Setting this to something greater than 1 will cause the server to
-     * wait for larger amounts of data to accumulate which can improve server
-     * throughput a bit at the cost of some additional latency.
-     */
-    public void setFetchMinBytes(int fetchMinBytes) {
-        this.fetchMinBytes = fetchMinBytes;
-    }
-
-    public int getFetchMinBytes() {
-        return fetchMinBytes;
-    }
-
-    /**
-     * The maximum amount of data the server should return for a fetch request.
-     * Records are fetched in batches by the consumer, and if the first record
-     * batch in the first non-empty partition of the fetch is larger than this
-     * value, the record batch will still be returned to ensure that the
-     * consumer can make progress. As such, this is not a absolute maximum. The
-     * maximum record batch size accepted by the broker is defined via
-     * <code>message.max.bytes</code> (broker config) or
-     * <code>max.message.bytes</code> (topic config). Note that the consumer
-     * performs multiple fetches in parallel.
-     */
-    public void setFetchMaxBytes(int fetchMaxBytes) {
-        this.fetchMaxBytes = fetchMaxBytes;
-    }
-
-    public int getFetchMaxBytes() {
-        return fetchMaxBytes;
-    }
-
-    /**
-     * The maximum amount of time the server will block before answering the
-     * fetch request if there isn't sufficient data to immediately satisfy the
-     * requirement given by fetch.min.bytes.
-     */
-    public void setFetchMaxWaitMs(int fetchMaxWaitMs) {
-        this.fetchMaxWaitMs = fetchMaxWaitMs;
-    }
-
-    public int getFetchMaxWaitMs() {
-        return fetchMaxWaitMs;
-    }
-
-    /**
-     * What to do when there is no initial offset in Kafka or if the current
-     * offset does not exist any more on the server (e.g. because that data has
-     * been deleted): <ul><li>earliest: automatically reset the offset to the
-     * earliest offset<li>latest: automatically reset the offset to the latest
-     * offset</li><li>none: throw exception to the consumer if no previous
-     * offset is found for the consumer's group</li><li>anything else: throw
-     * exception to the consumer.</li></ul>
-     */
-    public void setAutoOffsetReset(String autoOffsetReset) {
-        this.autoOffsetReset = autoOffsetReset;
-    }
-
-    public String getAutoOffsetReset() {
-        return autoOffsetReset;
-    }
-
-    /**
-     * Automatically check the CRC32 of the records consumed. This ensures no
-     * on-the-wire or on-disk corruption to the messages occurred. This check
-     * adds some overhead, so it may be disabled in cases seeking extreme
-     * performance.
-     */
-    public void setCheckCrcs(boolean checkCrcs) {
-        this.checkCrcs = checkCrcs;
-    }
-
-    public boolean isCheckCrcs() {
-        return checkCrcs;
-    }
-
-    /**
-     * Deserializer class for key that implements the
-     * <code>org.apache.kafka.common.serialization.Deserializer</code>
-     * interface.
-     */
-    public void setKeyDeserializer(String keyDeserializer) {
-        this.keyDeserializer = keyDeserializer;
-    }
-
-    public String getKeyDeserializer() {
-        return keyDeserializer;
-    }
-
-    /**
-     * Deserializer class for value that implements the
-     * <code>org.apache.kafka.common.serialization.Deserializer</code>
-     * interface.
-     */
-    public void setValueDeserializer(String valueDeserializer) {
-        this.valueDeserializer = valueDeserializer;
-    }
-
-    public String getValueDeserializer() {
-        return valueDeserializer;
-    }
-
-    /**
-     * Specifies the timeout (in milliseconds) for client APIs. This
-     * configuration is used as the default timeout for all client operations
-     * that do not specify a <code>timeout</code> parameter.
-     */
-    public void setDefaultApiTimeoutMs(int defaultApiTimeoutMs) {
-        this.defaultApiTimeoutMs = defaultApiTimeoutMs;
-    }
-
-    public int getDefaultApiTimeoutMs() {
-        return defaultApiTimeoutMs;
-    }
-
-    /**
-     * The maximum number of records returned in a single call to poll(). Note,
-     * that <code>max.poll.records</code> does not impact the underlying
-     * fetching behavior. The consumer will cache the records from each fetch
-     * request and returns them incrementally from each poll.
-     */
-    public void setMaxPollRecords(int maxPollRecords) {
-        this.maxPollRecords = maxPollRecords;
-    }
-
-    public int getMaxPollRecords() {
-        return maxPollRecords;
-    }
-
-    /**
-     * The maximum delay between invocations of poll() when using consumer group
-     * management. This places an upper bound on the amount of time that the
-     * consumer can be idle before fetching more records. If poll() is not
-     * called before expiration of this timeout, then the consumer is considered
-     * failed and the group will rebalance in order to reassign the partitions
-     * to another member. For consumers using a non-null
-     * <code>group.instance.id</code> which reach this timeout, partitions will
-     * not be immediately reassigned. Instead, the consumer will stop sending
-     * heartbeats and partitions will be reassigned after expiration of
-     * <code>session.timeout.ms</code>. This mirrors the behavior of a static
-     * consumer which has shutdown.
-     */
-    public void setMaxPollIntervalMs(int maxPollIntervalMs) {
-        this.maxPollIntervalMs = maxPollIntervalMs;
-    }
-
-    public int getMaxPollIntervalMs() {
-        return maxPollIntervalMs;
-    }
-
-    /**
-     * Whether internal topics matching a subscribed pattern should be excluded
-     * from the subscription. It is always possible to explicitly subscribe to
-     * an internal topic.
-     */
-    public void setExcludeInternalTopics(boolean excludeInternalTopics) {
-        this.excludeInternalTopics = excludeInternalTopics;
-    }
-
-    public boolean isExcludeInternalTopics() {
-        return excludeInternalTopics;
-    }
-
-    /**
-     * Controls how to read messages written transactionally. If set to
-     * <code>read_committed</code>, consumer.poll() will only return
-     * transactional messages which have been committed. If set to
-     * <code>read_uncommitted</code> (the default), consumer.poll() will return
-     * all messages, even transactional messages which have been aborted.
-     * Non-transactional messages will be returned unconditionally in either
-     * mode. <p>Messages will always be returned in offset order. Hence, in
-     * <code>read_committed</code> mode, consumer.poll() will only return
-     * messages up to the last stable offset (LSO), which is the one less than
-     * the offset of the first open transaction. In particular any messages
-     * appearing after messages belonging to ongoing transactions will be
-     * withheld until the relevant transaction has been completed. As a result,
-     * <code>read_committed</code> consumers will not be able to read up to the
-     * high watermark when there are in flight transactions.</p><p> Further,
-     * when in <code>read_committed</code> the seekToEnd method will return the
-     * LSO
-     */
-    public void setIsolationLevel(String isolationLevel) {
-        this.isolationLevel = isolationLevel;
-    }
-
-    public String getIsolationLevel() {
-        return isolationLevel;
-    }
-
-    /**
-     * Allow automatic topic creation on the broker when subscribing to or
-     * assigning a topic. A topic being subscribed to will be automatically
-     * created only if the broker allows for it using
-     * `auto.create.topics.enable` broker configuration. This configuration must
-     * be set to `false` when using brokers older than 0.11.0
-     */
-    public void setAllowAutoCreateTopics(boolean allowAutoCreateTopics) {
-        this.allowAutoCreateTopics = allowAutoCreateTopics;
-    }
-
-    public boolean isAllowAutoCreateTopics() {
-        return allowAutoCreateTopics;
-    }
-
-    /**
-     * The total bytes of memory the producer can use to buffer records waiting
-     * to be sent to the server. If records are sent faster than they can be
-     * delivered to the server the producer will block for
-     * <code>max.block.ms</code> after which it will throw an exception.<p>This
-     * setting should correspond roughly to the total memory the producer will
-     * use, but is not a hard bound since not all memory the producer uses is
-     * used for buffering. Some additional memory will be used for compression
-     * (if compression is enabled) as well as for maintaining in-flight
-     * requests.
-     */
-    public void setBufferMemory(long bufferMemory) {
-        this.bufferMemory = bufferMemory;
-    }
-
-    public long getBufferMemory() {
-        return bufferMemory;
-    }
-
-    /**
-     * Setting a value greater than zero will cause the client to resend any
-     * record whose send fails with a potentially transient error. Note that
-     * this retry is no different than if the client resent the record upon
-     * receiving the error. Allowing retries without setting
-     * <code>max.in.flight.requests.per.connection</code> to 1 will potentially
-     * change the ordering of records because if two batches are sent to a
-     * single partition, and the first fails and is retried but the second
-     * succeeds, then the records in the second batch may appear first. Note
-     * additionally that produce requests will be failed before the number of
-     * retries has been exhausted if the timeout configured by
-     * <code>delivery.timeout.ms</code> expires first before successful
-     * acknowledgement. Users should generally prefer to leave this config unset
-     * and instead use <code>delivery.timeout.ms</code> to control retry
-     * behavior.
-     */
-    public void setRetries(int retries) {
-        this.retries = retries;
-    }
-
-    public int getRetries() {
-        return retries;
-    }
-
-    /**
-     * The number of acknowledgments the producer requires the leader to have
-     * received before considering a request complete. This controls the
-     * durability of records that are sent. The following settings are allowed:
-     * <ul> <li><code>acks=0</code> If set to zero then the producer will not
-     * wait for any acknowledgment from the server at all. The record will be
-     * immediately added to the socket buffer and considered sent. No guarantee
-     * can be made that the server has received the record in this case, and the
-     * <code>retries</code> configuration will not take effect (as the client
-     * won't generally know of any failures). The offset given back for each
-     * record will always be set to <code>-1</code>. <li><code>acks=1</code>
-     * This will mean the leader will write the record to its local log but will
-     * respond without awaiting full acknowledgement from all followers. In this
-     * case should the leader fail immediately after acknowledging the record
-     * but before the followers have replicated it then the record will be lost.
-     * <li><code>acks=all</code> This means the leader will wait for the full
-     * set of in-sync replicas to acknowledge the record. This guarantees that
-     * the record will not be lost as long as at least one in-sync replica
-     * remains alive. This is the strongest available guarantee. This is
-     * equivalent to the acks=-1 setting.</ul>
-     */
-    public void setAcks(String acks) {
-        this.acks = acks;
-    }
-
-    public String getAcks() {
-        return acks;
-    }
-
-    /**
-     * The compression type for all data generated by the producer. The default
-     * is none (i.e. no compression). Valid  values are <code>none</code>,
-     * <code>gzip</code>, <code>snappy</code>, <code>lz4</code>, or
-     * <code>zstd</code>. Compression is of full batches of data, so the
-     * efficacy of batching will also impact the compression ratio (more
-     * batching means better compression).
-     */
-    public void setCompressionType(String compressionType) {
-        this.compressionType = compressionType;
-    }
-
-    public String getCompressionType() {
-        return compressionType;
-    }
-
-    /**
-     * The producer will attempt to batch records together into fewer requests
-     * whenever multiple records are being sent to the same partition. This
-     * helps performance on both the client and the server. This configuration
-     * controls the default batch size in bytes. <p>No attempt will be made to
-     * batch records larger than this size. <p>Requests sent to brokers will
-     * contain multiple batches, one for each partition with data available to
-     * be sent. <p>A small batch size will make batching less common and may
-     * reduce throughput (a batch size of zero will disable batching entirely).
-     * A very large batch size may use memory a bit more wastefully as we will
-     * always allocate a buffer of the specified batch size in anticipation of
-     * additional records.
-     */
-    public void setBatchSize(int batchSize) {
-        this.batchSize = batchSize;
-    }
-
-    public int getBatchSize() {
-        return batchSize;
-    }
-
-    /**
-     * The producer groups together any records that arrive in between request
-     * transmissions into a single batched request. Normally this occurs only
-     * under load when records arrive faster than they can be sent out. However
-     * in some circumstances the client may want to reduce the number of
-     * requests even under moderate load. This setting accomplishes this by
-     * adding a small amount of artificial delay&mdash;that is, rather than
-     * immediately sending out a record the producer will wait for up to the
-     * given delay to allow other records to be sent so that the sends can be
-     * batched together. This can be thought of as analogous to Nagle's
-     * algorithm in TCP. This setting gives the upper bound on the delay for
-     * batching: once we get <code>batch.size</code> worth of records for a
-     * partition it will be sent immediately regardless of this setting, however
-     * if we have fewer than this many bytes accumulated for this partition we
-     * will 'linger' for the specified time waiting for more records to show up.
-     * This setting defaults to 0 (i.e. no delay). Setting
-     * <code>linger.ms=5</code>, for example, would have the effect of reducing
-     * the number of requests sent but would add up to 5ms of latency to records
-     * sent in the absence of load.
-     */
-    public void setLingerMs(long lingerMs) {
-        this.lingerMs = lingerMs;
-    }
-
-    public long getLingerMs() {
-        return lingerMs;
-    }
-
-    /**
-     * An upper bound on the time to report success or failure after a call to
-     * <code>send()</code> returns. This limits the total time that a record
-     * will be delayed prior to sending, the time to await acknowledgement from
-     * the broker (if expected), and the time allowed for retriable send
-     * failures. The producer may report failure to send a record earlier than
-     * this config if either an unrecoverable error is encountered, the retries
-     * have been exhausted, or the record is added to a batch which reached an
-     * earlier delivery expiration deadline. The value of this config should be
-     * greater than or equal to the sum of <code>request.timeout.ms</code> and
-     * <code>linger.ms</code>.
-     */
-    public void setDeliveryTimeoutMs(int deliveryTimeoutMs) {
-        this.deliveryTimeoutMs = deliveryTimeoutMs;
-    }
-
-    public int getDeliveryTimeoutMs() {
-        return deliveryTimeoutMs;
-    }
-
-    /**
-     * The maximum size of a request in bytes. This setting will limit the
-     * number of record batches the producer will send in a single request to
-     * avoid sending huge requests. This is also effectively a cap on the
-     * maximum uncompressed record batch size. Note that the server has its own
-     * cap on the record batch size (after compression if compression is
-     * enabled) which may be different from this.
-     */
-    public void setMaxRequestSize(int maxRequestSize) {
-        this.maxRequestSize = maxRequestSize;
-    }
-
-    public int getMaxRequestSize() {
-        return maxRequestSize;
-    }
-
-    /**
-     * The configuration controls how long the <code>KafkaProducer</code>'s
-     * <code>send()</code>, <code>partitionsFor()</code>,
-     * <code>initTransactions()</code>, <code>sendOffsetsToTransaction()</code>,
-     * <code>commitTransaction()</code> and <code>abortTransaction()</code>
-     * methods will block. For <code>send()</code> this timeout bounds the total
-     * time waiting for both metadata fetch and buffer allocation (blocking in
-     * the user-supplied serializers or partitioner is not counted against this
-     * timeout). For <code>partitionsFor()</code> this timeout bounds the time
-     * spent waiting for metadata if it is unavailable. The transaction-related
-     * methods always block, but may timeout if the transaction coordinator
-     * could not be discovered or did not respond within the timeout.
-     */
-    public void setMaxBlockMs(long maxBlockMs) {
-        this.maxBlockMs = maxBlockMs;
-    }
-
-    public long getMaxBlockMs() {
-        return maxBlockMs;
-    }
-
-    /**
-     * Controls how long the producer will cache metadata for a topic that's
-     * idle. If the elapsed time since a topic was last produced to exceeds the
-     * metadata idle duration, then the topic's metadata is forgotten and the
-     * next access to it will force a metadata fetch request.
-     */
-    public void setMetadataMaxIdleMs(long metadataMaxIdleMs) {
-        this.metadataMaxIdleMs = metadataMaxIdleMs;
-    }
-
-    public long getMetadataMaxIdleMs() {
-        return metadataMaxIdleMs;
-    }
-
-    /**
-     * The maximum number of unacknowledged requests the client will send on a
-     * single connection before blocking. Note that if this setting is set to be
-     * greater than 1 and there are failed sends, there is a risk of message
-     * re-ordering due to retries (i.e., if retries are enabled).
-     */
-    public void setMaxInFlightRequestsPerConnection(
-            int maxInFlightRequestsPerConnection) {
-        this.maxInFlightRequestsPerConnection = maxInFlightRequestsPerConnection;
-    }
-
-    public int getMaxInFlightRequestsPerConnection() {
-        return maxInFlightRequestsPerConnection;
-    }
-
-    /**
-     * Serializer class for key that implements the
-     * <code>org.apache.kafka.common.serialization.Serializer</code> interface.
-     */
-    public void setKeySerializer(String keySerializer) {
-        this.keySerializer = keySerializer;
-    }
-
-    public String getKeySerializer() {
-        return keySerializer;
-    }
-
-    /**
-     * Serializer class for value that implements the
-     * <code>org.apache.kafka.common.serialization.Serializer</code> interface.
-     */
-    public void setValueSerializer(String valueSerializer) {
-        this.valueSerializer = valueSerializer;
-    }
-
-    public String getValueSerializer() {
-        return valueSerializer;
-    }
-
-    /**
-     * Partitioner class that implements the
-     * <code>org.apache.kafka.clients.producer.Partitioner</code> interface.
-     */
-    public void setPartitionerClass(String partitionerClass) {
-        this.partitionerClass = partitionerClass;
-    }
-
-    public String getPartitionerClass() {
-        return partitionerClass;
-    }
-
-    /**
-     * When set to 'true', the producer will ensure that exactly one copy of
-     * each message is written in the stream. If 'false', producer retries due
-     * to broker failures, etc., may write duplicates of the retried message in
-     * the stream. Note that enabling idempotence requires
-     * <code>max.in.flight.requests.per.connection</code> to be less than or
-     * equal to 5, <code>retries</code> to be greater than 0 and
-     * <code>acks</code> must be 'all'. If these values are not explicitly set
-     * by the user, suitable values will be chosen. If incompatible values are
-     * set, a <code>ConfigException</code> will be thrown.
-     */
-    public void setEnableIdempotence(boolean enableIdempotence) {
-        this.enableIdempotence = enableIdempotence;
-    }
-
-    public boolean isEnableIdempotence() {
-        return enableIdempotence;
-    }
-
-    /**
-     * The maximum amount of time in ms that the transaction coordinator will
-     * wait for a transaction status update from the producer before proactively
-     * aborting the ongoing transaction.If this value is larger than the
-     * transaction.max.timeout.ms setting in the broker, the request will fail
-     * with a <code>InvalidTxnTimeoutException</code> error.
-     */
-    public void setTransactionTimeoutMs(int transactionTimeoutMs) {
-        this.transactionTimeoutMs = transactionTimeoutMs;
-    }
-
-    public int getTransactionTimeoutMs() {
-        return transactionTimeoutMs;
-    }
-
-    /**
-     * The TransactionalId to use for transactional delivery. This enables
-     * reliability semantics which span multiple producer sessions since it
-     * allows the client to guarantee that transactions using the same
-     * TransactionalId have been completed prior to starting any new
-     * transactions. If no TransactionalId is provided, then the producer is
-     * limited to idempotent delivery. If a TransactionalId is configured,
-     * <code>enable.idempotence</code> is implied. By default the TransactionId
-     * is not configured, which means transactions cannot be used. Note that, by
-     * default, transactions require a cluster of at least three brokers which
-     * is the recommended setting for production; for development you can change
-     * this, by adjusting broker setting
-     * <code>transaction.state.log.replication.factor</code>.
-     */
-    public void setTransactionalId(String transactionalId) {
-        this.transactionalId = transactionalId;
-    }
-
-    public String getTransactionalId() {
-        return transactionalId;
-    }
-
-    public Properties createConsumerConfiguration() {
-        final Properties props = new Properties();
-        addPropertyIfNotNull(props, "partition.id", partitionId);
-        addPropertyIfNotNull(props, "topic", topic);
-        addPropertyIfNotNull(props, "bootstrap.servers", bootstrapServers);
-        addPropertyIfNotNull(props, "client.dns.lookup", clientDnsLookup);
-        addPropertyIfNotNull(props, "metadata.max.age.ms", metadataMaxAgeMs);
-        addPropertyIfNotNull(props, "client.id", clientId);
-        addPropertyIfNotNull(props, "send.buffer.bytes", sendBufferBytes);
-        addPropertyIfNotNull(props, "receive.buffer.bytes", receiveBufferBytes);
-        addPropertyIfNotNull(props, "reconnect.backoff.ms", reconnectBackoffMs);
-        addPropertyIfNotNull(props, "reconnect.backoff.max.ms", reconnectBackoffMaxMs);
-        addPropertyIfNotNull(props, "retry.backoff.ms", retryBackoffMs);
-        addPropertyIfNotNull(props, "metrics.sample.window.ms", metricsSampleWindowMs);
-        addPropertyIfNotNull(props, "metrics.num.samples", metricsNumSamples);
-        addPropertyIfNotNull(props, "metrics.recording.level", metricsRecordingLevel);
-        addPropertyIfNotNull(props, "metric.reporters", metricReporters);
-        addPropertyIfNotNull(props, "request.timeout.ms", requestTimeoutMs);
-        addPropertyIfNotNull(props, "socket.connection.setup.timeout.ms", socketConnectionSetupTimeoutMs);
-        addPropertyIfNotNull(props, "socket.connection.setup.timeout.max.ms", socketConnectionSetupTimeoutMaxMs);
-        addPropertyIfNotNull(props, "connections.max.idle.ms", connectionsMaxIdleMs);
-        addPropertyIfNotNull(props, "interceptor.classes", interceptorClasses);
-        addPropertyIfNotNull(props, "security.providers", securityProviders);
-        addPropertyIfNotNull(props, "security.protocol", securityProtocol);
-        addPropertyIfNotNull(props, "ssl.protocol", sslProtocol);
-        addPropertyIfNotNull(props, "ssl.provider", sslProvider);
-        addPropertyIfNotNull(props, "ssl.cipher.suites", sslCipherSuites);
-        addPropertyIfNotNull(props, "ssl.enabled.protocols", sslEnabledProtocols);
-        addPropertyIfNotNull(props, "ssl.keystore.type", sslKeystoreType);
-        addPropertyIfNotNull(props, "ssl.keystore.location", sslKeystoreLocation);
-        addPropertyIfNotNull(props, "ssl.keystore.password", sslKeystorePassword);
-        addPropertyIfNotNull(props, "ssl.key.password", sslKeyPassword);
-        addPropertyIfNotNull(props, "ssl.keystore.key", sslKeystoreKey);
-        addPropertyIfNotNull(props, "ssl.keystore.certificate.chain", sslKeystoreCertificateChain);
-        addPropertyIfNotNull(props, "ssl.truststore.certificates", sslTruststoreCertificates);
-        addPropertyIfNotNull(props, "ssl.truststore.type", sslTruststoreType);
-        addPropertyIfNotNull(props, "ssl.truststore.location", sslTruststoreLocation);
-        addPropertyIfNotNull(props, "ssl.truststore.password", sslTruststorePassword);
-        addPropertyIfNotNull(props, "ssl.keymanager.algorithm", sslKeymanagerAlgorithm);
-        addPropertyIfNotNull(props, "ssl.trustmanager.algorithm", sslTrustmanagerAlgorithm);
-        addPropertyIfNotNull(props, "ssl.endpoint.identification.algorithm", sslEndpointIdentificationAlgorithm);
-        addPropertyIfNotNull(props, "ssl.secure.random.implementation", sslSecureRandomImplementation);
-        addPropertyIfNotNull(props, "ssl.engine.factory.class", sslEngineFactoryClass);
-        addPropertyIfNotNull(props, "sasl.kerberos.service.name", saslKerberosServiceName);
-        addPropertyIfNotNull(props, "sasl.kerberos.kinit.cmd", saslKerberosKinitCmd);
-        addPropertyIfNotNull(props, "sasl.kerberos.ticket.renew.window.factor", saslKerberosTicketRenewWindowFactor);
-        addPropertyIfNotNull(props, "sasl.kerberos.ticket.renew.jitter", saslKerberosTicketRenewJitter);
-        addPropertyIfNotNull(props, "sasl.kerberos.min.time.before.relogin", saslKerberosMinTimeBeforeRelogin);
-        addPropertyIfNotNull(props, "sasl.login.refresh.window.factor", saslLoginRefreshWindowFactor);
-        addPropertyIfNotNull(props, "sasl.login.refresh.window.jitter", saslLoginRefreshWindowJitter);
-        addPropertyIfNotNull(props, "sasl.login.refresh.min.period.seconds", saslLoginRefreshMinPeriodSeconds);
-        addPropertyIfNotNull(props, "sasl.login.refresh.buffer.seconds", saslLoginRefreshBufferSeconds);
-        addPropertyIfNotNull(props, "sasl.mechanism", saslMechanism);
-        addPropertyIfNotNull(props, "sasl.jaas.config", saslJaasConfig);
-        addPropertyIfNotNull(props, "sasl.client.callback.handler.class", saslClientCallbackHandlerClass);
-        addPropertyIfNotNull(props, "sasl.login.callback.handler.class", saslLoginCallbackHandlerClass);
-        addPropertyIfNotNull(props, "sasl.login.class", saslLoginClass);
-        addPropertyIfNotNull(props, "seek.to.offset", seekToOffset);
-        addPropertyIfNotNull(props, "seek.to.position", seekToPosition);
-        addPropertyIfNotNull(props, "group.id", groupId);
-        addPropertyIfNotNull(props, "group.instance.id", groupInstanceId);
-        addPropertyIfNotNull(props, "session.timeout.ms", sessionTimeoutMs);
-        addPropertyIfNotNull(props, "heartbeat.interval.ms", heartbeatIntervalMs);
-        addPropertyIfNotNull(props, "partition.assignment.strategy", partitionAssignmentStrategy);
-        addPropertyIfNotNull(props, "enable.auto.commit", enableAutoCommit);
-        addPropertyIfNotNull(props, "auto.commit.interval.ms", autoCommitIntervalMs);
-        addPropertyIfNotNull(props, "client.rack", clientRack);
-        addPropertyIfNotNull(props, "max.partition.fetch.bytes", maxPartitionFetchBytes);
-        addPropertyIfNotNull(props, "fetch.min.bytes", fetchMinBytes);
-        addPropertyIfNotNull(props, "fetch.max.bytes", fetchMaxBytes);
-        addPropertyIfNotNull(props, "fetch.max.wait.ms", fetchMaxWaitMs);
-        addPropertyIfNotNull(props, "auto.offset.reset", autoOffsetReset);
-        addPropertyIfNotNull(props, "check.crcs", checkCrcs);
-        addPropertyIfNotNull(props, "key.deserializer", keyDeserializer);
-        addPropertyIfNotNull(props, "value.deserializer", valueDeserializer);
-        addPropertyIfNotNull(props, "default.api.timeout.ms", defaultApiTimeoutMs);
-        addPropertyIfNotNull(props, "max.poll.records", maxPollRecords);
-        addPropertyIfNotNull(props, "max.poll.interval.ms", maxPollIntervalMs);
-        addPropertyIfNotNull(props, "exclude.internal.topics", excludeInternalTopics);
-        addPropertyIfNotNull(props, "isolation.level", isolationLevel);
-        addPropertyIfNotNull(props, "allow.auto.create.topics", allowAutoCreateTopics);
-        applyAdditionalProperties(props, getAdditionalProperties());
-        return props;
-    }
-
-    public Properties createProducerConfiguration() {
-        final Properties props = new Properties();
-        addPropertyIfNotNull(props, "partition.id", partitionId);
-        addPropertyIfNotNull(props, "topic", topic);
-        addPropertyIfNotNull(props, "bootstrap.servers", bootstrapServers);
-        addPropertyIfNotNull(props, "client.dns.lookup", clientDnsLookup);
-        addPropertyIfNotNull(props, "metadata.max.age.ms", metadataMaxAgeMs);
-        addPropertyIfNotNull(props, "client.id", clientId);
-        addPropertyIfNotNull(props, "send.buffer.bytes", sendBufferBytes);
-        addPropertyIfNotNull(props, "receive.buffer.bytes", receiveBufferBytes);
-        addPropertyIfNotNull(props, "reconnect.backoff.ms", reconnectBackoffMs);
-        addPropertyIfNotNull(props, "reconnect.backoff.max.ms", reconnectBackoffMaxMs);
-        addPropertyIfNotNull(props, "retry.backoff.ms", retryBackoffMs);
-        addPropertyIfNotNull(props, "metrics.sample.window.ms", metricsSampleWindowMs);
-        addPropertyIfNotNull(props, "metrics.num.samples", metricsNumSamples);
-        addPropertyIfNotNull(props, "metrics.recording.level", metricsRecordingLevel);
-        addPropertyIfNotNull(props, "metric.reporters", metricReporters);
-        addPropertyIfNotNull(props, "request.timeout.ms", requestTimeoutMs);
-        addPropertyIfNotNull(props, "socket.connection.setup.timeout.ms", socketConnectionSetupTimeoutMs);
-        addPropertyIfNotNull(props, "socket.connection.setup.timeout.max.ms", socketConnectionSetupTimeoutMaxMs);
-        addPropertyIfNotNull(props, "connections.max.idle.ms", connectionsMaxIdleMs);
-        addPropertyIfNotNull(props, "interceptor.classes", interceptorClasses);
-        addPropertyIfNotNull(props, "security.providers", securityProviders);
-        addPropertyIfNotNull(props, "security.protocol", securityProtocol);
-        addPropertyIfNotNull(props, "ssl.protocol", sslProtocol);
-        addPropertyIfNotNull(props, "ssl.provider", sslProvider);
-        addPropertyIfNotNull(props, "ssl.cipher.suites", sslCipherSuites);
-        addPropertyIfNotNull(props, "ssl.enabled.protocols", sslEnabledProtocols);
-        addPropertyIfNotNull(props, "ssl.keystore.type", sslKeystoreType);
-        addPropertyIfNotNull(props, "ssl.keystore.location", sslKeystoreLocation);
-        addPropertyIfNotNull(props, "ssl.keystore.password", sslKeystorePassword);
-        addPropertyIfNotNull(props, "ssl.key.password", sslKeyPassword);
-        addPropertyIfNotNull(props, "ssl.keystore.key", sslKeystoreKey);
-        addPropertyIfNotNull(props, "ssl.keystore.certificate.chain", sslKeystoreCertificateChain);
-        addPropertyIfNotNull(props, "ssl.truststore.certificates", sslTruststoreCertificates);
-        addPropertyIfNotNull(props, "ssl.truststore.type", sslTruststoreType);
-        addPropertyIfNotNull(props, "ssl.truststore.location", sslTruststoreLocation);
-        addPropertyIfNotNull(props, "ssl.truststore.password", sslTruststorePassword);
-        addPropertyIfNotNull(props, "ssl.keymanager.algorithm", sslKeymanagerAlgorithm);
-        addPropertyIfNotNull(props, "ssl.trustmanager.algorithm", sslTrustmanagerAlgorithm);
-        addPropertyIfNotNull(props, "ssl.endpoint.identification.algorithm", sslEndpointIdentificationAlgorithm);
-        addPropertyIfNotNull(props, "ssl.secure.random.implementation", sslSecureRandomImplementation);
-        addPropertyIfNotNull(props, "ssl.engine.factory.class", sslEngineFactoryClass);
-        addPropertyIfNotNull(props, "sasl.kerberos.service.name", saslKerberosServiceName);
-        addPropertyIfNotNull(props, "sasl.kerberos.kinit.cmd", saslKerberosKinitCmd);
-        addPropertyIfNotNull(props, "sasl.kerberos.ticket.renew.window.factor", saslKerberosTicketRenewWindowFactor);
-        addPropertyIfNotNull(props, "sasl.kerberos.ticket.renew.jitter", saslKerberosTicketRenewJitter);
-        addPropertyIfNotNull(props, "sasl.kerberos.min.time.before.relogin", saslKerberosMinTimeBeforeRelogin);
-        addPropertyIfNotNull(props, "sasl.login.refresh.window.factor", saslLoginRefreshWindowFactor);
-        addPropertyIfNotNull(props, "sasl.login.refresh.window.jitter", saslLoginRefreshWindowJitter);
-        addPropertyIfNotNull(props, "sasl.login.refresh.min.period.seconds", saslLoginRefreshMinPeriodSeconds);
-        addPropertyIfNotNull(props, "sasl.login.refresh.buffer.seconds", saslLoginRefreshBufferSeconds);
-        addPropertyIfNotNull(props, "sasl.mechanism", saslMechanism);
-        addPropertyIfNotNull(props, "sasl.jaas.config", saslJaasConfig);
-        addPropertyIfNotNull(props, "sasl.client.callback.handler.class", saslClientCallbackHandlerClass);
-        addPropertyIfNotNull(props, "sasl.login.callback.handler.class", saslLoginCallbackHandlerClass);
-        addPropertyIfNotNull(props, "sasl.login.class", saslLoginClass);
-        addPropertyIfNotNull(props, "buffer.memory", bufferMemory);
-        addPropertyIfNotNull(props, "retries", retries);
-        addPropertyIfNotNull(props, "acks", acks);
-        addPropertyIfNotNull(props, "compression.type", compressionType);
-        addPropertyIfNotNull(props, "batch.size", batchSize);
-        addPropertyIfNotNull(props, "linger.ms", lingerMs);
-        addPropertyIfNotNull(props, "delivery.timeout.ms", deliveryTimeoutMs);
-        addPropertyIfNotNull(props, "max.request.size", maxRequestSize);
-        addPropertyIfNotNull(props, "max.block.ms", maxBlockMs);
-        addPropertyIfNotNull(props, "metadata.max.idle.ms", metadataMaxIdleMs);
-        addPropertyIfNotNull(props, "max.in.flight.requests.per.connection", maxInFlightRequestsPerConnection);
-        addPropertyIfNotNull(props, "key.serializer", keySerializer);
-        addPropertyIfNotNull(props, "value.serializer", valueSerializer);
-        addPropertyIfNotNull(props, "partitioner.class", partitionerClass);
-        addPropertyIfNotNull(props, "enable.idempotence", enableIdempotence);
-        addPropertyIfNotNull(props, "transaction.timeout.ms", transactionTimeoutMs);
-        addPropertyIfNotNull(props, "transactional.id", transactionalId);
-        applyAdditionalProperties(props, getAdditionalProperties());
-        return props;
-    }
-
-    public VertxKafkaConfiguration copy() {
-        try {
-        	return (VertxKafkaConfiguration) clone();
-        } catch (CloneNotSupportedException e) {
-        	throw new RuntimeCamelException(e);
-        }
-    }
-
-    private void applyAdditionalProperties(
-            Properties props,
-            Map<String, Object> additionalProperties) {
-        if (!ObjectHelper.isEmpty(getAdditionalProperties())) {
-        	additionalProperties.forEach((property, value) -> addPropertyIfNotNull(props, property, value));
-        }
-    }
-
-    private static <T> void addPropertyIfNotNull(
-            Properties props,
-            String key,
-            T value) {
-        if (value != null) {
-        	props.put(key, value.toString());
-        }
-    }
-}
\ No newline at end of file
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/component.properties b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/component.properties
deleted file mode 100644
index c02d317bc80..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-components=vertx-kafka
-groupId=org.apache.camel
-artifactId=camel-vertx-kafka
-version=3.21.0-SNAPSHOT
-projectName=Camel :: Vert.x :: Kafka (deprecated)
-projectDescription=Camel Vertx Kafka support
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/component/vertx-kafka b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/component/vertx-kafka
deleted file mode 100644
index 169e107ef81..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/component/vertx-kafka
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vertx.kafka.VertxKafkaComponent
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/vertx-kafka-component b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/vertx-kafka-component
deleted file mode 100644
index 485c13f362f..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/vertx-kafka-component
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vertx.kafka.VertxKafkaComponentConfigurer
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/vertx-kafka-endpoint b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/vertx-kafka-endpoint
deleted file mode 100644
index c5f6a78d60c..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/configurer/vertx-kafka-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vertx.kafka.VertxKafkaEndpointConfigurer
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/send-dynamic/vertx-kafka b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/send-dynamic/vertx-kafka
deleted file mode 100644
index 338945ce808..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/send-dynamic/vertx-kafka
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vertx.kafka.VertxKafkaSendDynamicAware
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/urifactory/vertx-kafka-endpoint b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/urifactory/vertx-kafka-endpoint
deleted file mode 100644
index f4b9c748f4d..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/META-INF/services/org/apache/camel/urifactory/vertx-kafka-endpoint
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.vertx.kafka.VertxKafkaEndpointUriFactory
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/org/apache/camel/component/vertx/kafka/vertx-kafka.json b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/org/apache/camel/component/vertx/kafka/vertx-kafka.json
deleted file mode 100644
index b7eb149ee42..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/generated/resources/org/apache/camel/component/vertx/kafka/vertx-kafka.json
+++ /dev/null
@@ -1,248 +0,0 @@
-{
-  "component": {
-    "kind": "component",
-    "name": "vertx-kafka",
-    "title": "Vert.x Kafka",
-    "description": "Sent and receive messages to\/from an Apache Kafka broker using vert.x Kafka client",
-    "deprecated": true,
-    "firstVersion": "3.7.0",
-    "label": "messaging",
-    "javaType": "org.apache.camel.component.vertx.kafka.VertxKafkaComponent",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-vertx-kafka",
-    "version": "3.21.0-SNAPSHOT",
-    "scheme": "vertx-kafka",
-    "extendsScheme": "",
-    "syntax": "vertx-kafka:topic",
-    "async": false,
-    "api": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false
-  },
-  "componentProperties": {
-    "additionalProperties": { "kind": "property", "displayName": "Additional Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "additionalProperties.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "descrip [...]
-    "bootstrapServers": { "kind": "property", "displayName": "Bootstrap Servers", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of host\/port pairs to use for establishing the initial connection to the Kafka c [...]
-    "clientDnsLookup": { "kind": "property", "displayName": "Client Dns Lookup", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "default", "use_all_dns_ips", "resolve_canonical_bootstrap_servers_only" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "use_all_dns_ips", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": " [...]
-    "clientId": { "kind": "property", "displayName": "Client Id", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "An id string to pass to the server when making requests. The purpose of this is to be able to track the  [...]
-    "configuration": { "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "The component configurations" },
-    "connectionsMaxIdleMs": { "kind": "property", "displayName": "Connections Max Idle Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "9m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Close idle connections after the number of milliseconds specified  [...]
-    "headerFilterStrategy": { "kind": "property", "displayName": "Header Filter Strategy", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "To use a custom HeaderFilterStrategy to filter header  [...]
-    "interceptorClasses": { "kind": "property", "displayName": "Interceptor Classes", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of classes to use as interceptors. Implementing the org.apache.kafka.clients. [...]
-    "metadataMaxAgeMs": { "kind": "property", "displayName": "Metadata Max Age Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The period of time in milliseconds after which we force a refresh of metad [...]
-    "metricReporters": { "kind": "property", "displayName": "Metric Reporters", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of classes to use as metrics reporters. Implementing the org.apache.kafka.common.me [...]
-    "metricsNumSamples": { "kind": "property", "displayName": "Metrics Num Samples", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The number of samples maintained to compute metrics." },
-    "metricsRecordingLevel": { "kind": "property", "displayName": "Metrics Recording Level", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "INFO", "DEBUG", "TRACE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "INFO", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The highest rec [...]
-    "metricsSampleWindowMs": { "kind": "property", "displayName": "Metrics Sample Window Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The window of time a metrics sample is computed over." },
-    "partitionId": { "kind": "property", "displayName": "Partition Id", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The partition to which the record will be sent (or null if no partition was specified) or read f [...]
-    "receiveBufferBytes": { "kind": "property", "displayName": "Receive Buffer Bytes", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 32768, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The size of the TCP receive buffer (SO_RCVBUF) to use when reading data. [...]
-    "reconnectBackoffMaxMs": { "kind": "property", "displayName": "Reconnect Backoff Max Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of time in milliseconds to wait when reconnec [...]
-    "reconnectBackoffMs": { "kind": "property", "displayName": "Reconnect Backoff Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "50ms", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The base amount of time to wait before attempting to reconnect to a g [...]
-    "requestTimeoutMs": { "kind": "property", "displayName": "Request Timeout Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The configuration controls the maximum amount of time the client will wait  [...]
-    "retryBackoffMs": { "kind": "property", "displayName": "Retry Backoff Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "100ms", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The amount of time to wait before attempting to retry a failed request to a  [...]
-    "sendBufferBytes": { "kind": "property", "displayName": "Send Buffer Bytes", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The size of the TCP send buffer (SO_SNDBUF) to use when sending data. If the  [...]
-    "socketConnectionSetupTimeoutMaxMs": { "kind": "property", "displayName": "Socket Connection Setup Timeout Max Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of time the client [...]
-    "socketConnectionSetupTimeoutMs": { "kind": "property", "displayName": "Socket Connection Setup Timeout Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The amount of time the client will wait for  [...]
-    "allowAutoCreateTopics": { "kind": "property", "displayName": "Allow Auto Create Topics", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Allow automatic topic creation on the broker when subscrib [...]
-    "allowManualCommit": { "kind": "property", "displayName": "Allow Manual Commit", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Whether to allow doing manual commits via org.apache.camel.compone [...]
-    "autoCommitIntervalMs": { "kind": "property", "displayName": "Auto Commit Interval Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The frequency in milliseconds that the consumer offsets are aut [...]
-    "autoOffsetReset": { "kind": "property", "displayName": "Auto Offset Reset", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "latest", "earliest", "none" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "latest", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "What to do when t [...]
-    "bridgeErrorHandler": { "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a me [...]
-    "checkCrcs": { "kind": "property", "displayName": "Check Crcs", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Automatically check the CRC32 of the records consumed. This ensures no on-the-wire o [...]
-    "clientRack": { "kind": "property", "displayName": "Client Rack", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A rack identifier for this client. This can be any string value which indicates where this clien [...]
-    "defaultApiTimeoutMs": { "kind": "property", "displayName": "Default Api Timeout Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Specifies the timeout (in milliseconds) for client APIs. This con [...]
-    "enableAutoCommit": { "kind": "property", "displayName": "Enable Auto Commit", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "If true the consumer's offset will be periodically committed in the b [...]
-    "excludeInternalTopics": { "kind": "property", "displayName": "Exclude Internal Topics", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Whether internal topics matching a subscribed pattern shoul [...]
-    "fetchMaxBytes": { "kind": "property", "displayName": "Fetch Max Bytes", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 52428800, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of data the server should return for a fetch request. Re [...]
-    "fetchMaxWaitMs": { "kind": "property", "displayName": "Fetch Max Wait Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "500ms", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of time the server will block before answering the fe [...]
-    "fetchMinBytes": { "kind": "property", "displayName": "Fetch Min Bytes", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The minimum amount of data the server should return for a fetch request. If insuff [...]
-    "groupId": { "kind": "property", "displayName": "Group Id", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A unique string that identifies the consumer group this consumer belongs to. This property is required [...]
-    "groupInstanceId": { "kind": "property", "displayName": "Group Instance Id", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A unique identifier of the consumer instance provided by the end user. Only non-empty [...]
-    "heartbeatIntervalMs": { "kind": "property", "displayName": "Heartbeat Interval Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "3s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The expected time between heartbeats to the consumer coordinator w [...]
-    "isolationLevel": { "kind": "property", "displayName": "Isolation Level", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "read_committed", "read_uncommitted" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "read_uncommitted", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Co [...]
-    "keyDeserializer": { "kind": "property", "displayName": "Key Deserializer", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.common.serialization.StringDeserializer", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Deserializ [...]
-    "maxPartitionFetchBytes": { "kind": "property", "displayName": "Max Partition Fetch Bytes", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of data per-partition the server will  [...]
-    "maxPollIntervalMs": { "kind": "property", "displayName": "Max Poll Interval Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum delay between invocations of poll() when using consumer g [...]
-    "maxPollRecords": { "kind": "property", "displayName": "Max Poll Records", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum number of records returned in a single call to poll(). Note, that  [...]
-    "partitionAssignmentStrategy": { "kind": "property", "displayName": "Partition Assignment Strategy", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.clients.consumer.RangeAssignor", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "descripti [...]
-    "seekToOffset": { "kind": "property", "displayName": "Seek To Offset", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Set if KafkaConsumer will read from a particular offset on startup. This config will take pr [...]
-    "seekToPosition": { "kind": "property", "displayName": "Seek To Position", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "beginning", "end" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Set if KafkaConsumer will read from beginning or end on [...]
-    "sessionTimeoutMs": { "kind": "property", "displayName": "Session Timeout Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The timeout used to detect client failures when using Kafka's group man [...]
-    "valueDeserializer": { "kind": "property", "displayName": "Value Deserializer", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.common.serialization.StringDeserializer", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Deseri [...]
-    "kafkaManualCommitFactory": { "kind": "property", "displayName": "Kafka Manual Commit Factory", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommitFactory", "deprecated": false, "autowired": true, "secret": false, "description": "Factory to use for creating org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommit instances. This allows to plugin [...]
-    "acks": { "kind": "property", "displayName": "Acks", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "all", "-1", "0", "1" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The number of acknowledgments the producer requires t [...]
-    "batchSize": { "kind": "property", "displayName": "Batch Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16384, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The producer will attempt to batch records together into fewer requests whenever multip [...]
-    "bufferMemory": { "kind": "property", "displayName": "Buffer Memory", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 33554432, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The total bytes of memory the producer can use to buffer records waiting to b [...]
-    "compressionType": { "kind": "property", "displayName": "Compression Type", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The compression type for all data generated by the producer. T [...]
-    "deliveryTimeoutMs": { "kind": "property", "displayName": "Delivery Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "2m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "An upper bound on the time to report success or failure after a call t [...]
-    "enableIdempotence": { "kind": "property", "displayName": "Enable Idempotence", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "When set to 'true', the producer will ensure that exactly one copy  [...]
-    "keySerializer": { "kind": "property", "displayName": "Key Serializer", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.common.serialization.StringSerializer", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Serializer class [...]
-    "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during star [...]
-    "lingerMs": { "kind": "property", "displayName": "Linger Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The producer groups together any records that arrive in between request transmissions i [...]
-    "maxBlockMs": { "kind": "property", "displayName": "Max Block Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The configuration controls how long the KafkaProducer's send(), partitionsFor(), in [...]
-    "maxInFlightRequestsPerConnection": { "kind": "property", "displayName": "Max In Flight Requests Per Connection", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum number of unacknowledged requ [...]
-    "maxRequestSize": { "kind": "property", "displayName": "Max Request Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum size of a request in bytes. This setting will limit the number [...]
-    "metadataMaxIdleMs": { "kind": "property", "displayName": "Metadata Max Idle Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Controls how long the producer will cache metadata for a topic that' [...]
-    "partitionerClass": { "kind": "property", "displayName": "Partitioner Class", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.clients.producer.internals.DefaultPartitioner", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Pa [...]
-    "retries": { "kind": "property", "displayName": "Retries", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Setting a value greater than zero will cause the client to resend any record whose send [...]
-    "transactionalId": { "kind": "property", "displayName": "Transactional Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The TransactionalId to use for transactional delivery. This enables reliability semant [...]
-    "transactionTimeoutMs": { "kind": "property", "displayName": "Transaction Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of time in ms that the transaction coordinato [...]
-    "valueSerializer": { "kind": "property", "displayName": "Value Serializer", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.common.serialization.StringSerializer", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Serializer c [...]
-    "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...]
-    "vertx": { "kind": "property", "displayName": "Vertx", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.vertx.core.Vertx", "deprecated": false, "autowired": true, "secret": false, "description": "To use an existing vertx instead of creating a new instance" },
-    "vertxKafkaClientFactory": { "kind": "property", "displayName": "Vertx Kafka Client Factory", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory", "deprecated": false, "autowired": true, "secret": false, "description": "Factory to use for creating io.vertx.kafka.client.consumer.KafkaConsumer and io.vertx.kafka.client.consumer.KafkaProducer instances. This allows to configure a cust [...]
-    "vertxOptions": { "kind": "property", "displayName": "Vertx Options", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "io.vertx.core.VertxOptions", "deprecated": false, "autowired": false, "secret": false, "description": "To provide a custom set of vertx options for configuring vertx" },
-    "saslClientCallbackHandlerClass": { "kind": "property", "displayName": "Sasl Client Callback Handler Class", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The fully qualified name of a SASL client call [...]
-    "saslJaasConfig": { "kind": "property", "displayName": "Sasl Jaas Config", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "JAAS login context parameters for SASL connections in the format used by JAAS co [...]
-    "saslKerberosKinitCmd": { "kind": "property", "displayName": "Sasl Kerberos Kinit Cmd", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "\/usr\/bin\/kinit", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Kerberos kinit command path." },
-    "saslKerberosMinTimeBeforeRelogin": { "kind": "property", "displayName": "Sasl Kerberos Min Time Before Relogin", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Login thread sleep time betwe [...]
-    "saslKerberosServiceName": { "kind": "property", "displayName": "Sasl Kerberos Service Name", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The Kerberos principal name that Kafka runs as. This can be d [...]
-    "saslKerberosTicketRenewJitter": { "kind": "property", "displayName": "Sasl Kerberos Ticket Renew Jitter", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.05, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Percentage of random jitter added to [...]
-    "saslKerberosTicketRenewWindowFactor": { "kind": "property", "displayName": "Sasl Kerberos Ticket Renew Window Factor", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.8, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Login thread will sleep  [...]
-    "saslLoginCallbackHandlerClass": { "kind": "property", "displayName": "Sasl Login Callback Handler Class", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The fully qualified name of a SASL login callbac [...]
-    "saslLoginClass": { "kind": "property", "displayName": "Sasl Login Class", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The fully qualified name of a class that implements the Login interface. For bro [...]
-    "saslLoginRefreshBufferSeconds": { "kind": "property", "displayName": "Sasl Login Refresh Buffer Seconds", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "short", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The amount of buffer time before cr [...]
-    "saslLoginRefreshMinPeriodSeconds": { "kind": "property", "displayName": "Sasl Login Refresh Min Period Seconds", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "short", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "60", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The desired minimum time for  [...]
-    "saslLoginRefreshWindowFactor": { "kind": "property", "displayName": "Sasl Login Refresh Window Factor", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.8, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Login refresh thread will sleep until t [...]
-    "saslLoginRefreshWindowJitter": { "kind": "property", "displayName": "Sasl Login Refresh Window Jitter", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.05, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of random jitter re [...]
-    "saslMechanism": { "kind": "property", "displayName": "Sasl Mechanism", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "GSSAPI", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "SASL mechanism used for client connections. This may be a [...]
-    "securityProtocol": { "kind": "property", "displayName": "Security Protocol", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Protocol used to communicate with brokers. Valid [...]
-    "securityProviders": { "kind": "property", "displayName": "Security Providers", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of configurable creator classes each returning a provider implementi [...]
-    "sslCipherSuites": { "kind": "property", "displayName": "Ssl Cipher Suites", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of cipher suites. This is a named combination of authentication, encryp [...]
-    "sslEnabledProtocols": { "kind": "property", "displayName": "Ssl Enabled Protocols", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TLSv1.2,TLSv1.3", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The list of protocols enabled for S [...]
-    "sslEndpointIdentificationAlgorithm": { "kind": "property", "displayName": "Ssl Endpoint Identification Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "https", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The endpoint i [...]
-    "sslEngineFactoryClass": { "kind": "property", "displayName": "Ssl Engine Factory Class", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The class of type org.apache.kafka.common.security.auth.SslEngine [...]
-    "sslKeymanagerAlgorithm": { "kind": "property", "displayName": "Ssl Keymanager Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SunX509", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The algorithm used by key manager fac [...]
-    "sslKeyPassword": { "kind": "property", "displayName": "Ssl Key Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The password of the private key in the key store file orthe PEM key specified in [...]
-    "sslKeystoreCertificateChain": { "kind": "property", "displayName": "Ssl Keystore Certificate Chain", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Certificate chain in the format specified by 'ssl.key [...]
-    "sslKeystoreKey": { "kind": "property", "displayName": "Ssl Keystore Key", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Private key in the format specified by 'ssl.keystore.type'. Default SSL engine f [...]
-    "sslKeystoreLocation": { "kind": "property", "displayName": "Ssl Keystore Location", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The location of the key store file. This is optional for client and ca [...]
-    "sslKeystorePassword": { "kind": "property", "displayName": "Ssl Keystore Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The store password for the key store file. This is optional for client [...]
-    "sslKeystoreType": { "kind": "property", "displayName": "Ssl Keystore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The file format of the key store file. This is optional [...]
-    "sslProtocol": { "kind": "property", "displayName": "Ssl Protocol", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TLSv1.2", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The SSL protocol used to generate the SSLContext. The defaul [...]
-    "sslProvider": { "kind": "property", "displayName": "Ssl Provider", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The name of the security provider used for SSL connections. Default value is the defaul [...]
-    "sslSecureRandomImplementation": { "kind": "property", "displayName": "Ssl Secure Random Implementation", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The SecureRandom PRNG implementation to use for S [...]
-    "sslTrustmanagerAlgorithm": { "kind": "property", "displayName": "Ssl Trustmanager Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PKIX", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The algorithm used by trust manager  [...]
-    "sslTruststoreCertificates": { "kind": "property", "displayName": "Ssl Truststore Certificates", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Trusted certificates in the format specified by 'ssl.trust [...]
-    "sslTruststoreLocation": { "kind": "property", "displayName": "Ssl Truststore Location", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The location of the trust store file." },
-    "sslTruststorePassword": { "kind": "property", "displayName": "Ssl Truststore Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The password for the trust store file. If a password is not set, t [...]
-    "sslTruststoreType": { "kind": "property", "displayName": "Ssl Truststore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The file format of the trust store file." }
-  },
-  "headers": {
-    "CamelVertxKafkaPartitionId": { "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Producer: Explicitly specify the partition identifier, for example partition 0. This will trigger the component to produce all the massages to the specified partition. Consumer: The partition identifier where the message were consumed from.", "cons [...]
-    "CamelVertxKafkaMessageKey": { "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Producer: Explicitly specify the message key, if partition ID is not specified, this will trigger the messages to go into the same partition. Consumer: The message key.", "constantName": "org.apache.camel.component.vertx.kafka.VertxKafkaConstants#MES [...]
-    "CamelVertxKafkaTopic": { "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Producer: Explicitly specify the topic to where produce the messages, this will be preserved in case of header aggregation. Consumer: The topic from where the message originated.", "constantName": "org.apache.camel.component.vertx.kafka.VertxKafkaConstant [...]
-    "CamelVertxKafkaRecordMetadata": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "List<RecordMetadata>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Produced record metadata.", "constantName": "org.apache.camel.component.vertx.kafka.VertxKafkaConstants#RECORD_METADATA" },
-    "CamelVertxKafkaOffset": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The offset of the message in Kafka topic.", "constantName": "org.apache.camel.component.vertx.kafka.VertxKafkaConstants#OFFSET" },
-    "CamelVertxKafkaHeaders": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "List<KafkaHeader>", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The record Kafka headers.", "constantName": "org.apache.camel.component.vertx.kafka.VertxKafkaConstants#HEADERS" },
-    "CamelVertxKafkaTimestamp": { "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The timestamp of this record.", "constantName": "org.apache.camel.component.vertx.kafka.VertxKafkaConstants#TIMESTAMP" },
-    "CamelVertxKafkaOverrideTimestamp": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The ProducerRecord also has an associated timestamp. If the user did provide a timestamp, the producer will stamp the record with the provided timestamp and the header is not preserved.", "constantName": "org.apache.camel.component.ver [...]
-    "CamelVertxKafkaOverrideTopic": { "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Explicitly specify the topic to where produce the messages, this will not be preserved in case of header aggregation and it will take precedence over CamelVertxKafkaTopic.", "constantName": "org.apache.camel.component.vertx.kafka.VertxKa [...]
-  },
-  "properties": {
-    "topic": { "kind": "path", "displayName": "Topic", "group": "common", "label": "common", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Name of the topic to use. On the consumer you can use comma to separate multiple topics. A pr [...]
-    "additionalProperties": { "kind": "parameter", "displayName": "Additional Properties", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.Object>", "prefix": "additionalProperties.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "descri [...]
-    "bootstrapServers": { "kind": "parameter", "displayName": "Bootstrap Servers", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of host\/port pairs to use for establishing the initial connection to the Kafka  [...]
-    "clientDnsLookup": { "kind": "parameter", "displayName": "Client Dns Lookup", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "default", "use_all_dns_ips", "resolve_canonical_bootstrap_servers_only" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "use_all_dns_ips", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField":  [...]
-    "clientId": { "kind": "parameter", "displayName": "Client Id", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "An id string to pass to the server when making requests. The purpose of this is to be able to track the [...]
-    "connectionsMaxIdleMs": { "kind": "parameter", "displayName": "Connections Max Idle Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "9m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Close idle connections after the number of milliseconds specified [...]
-    "headerFilterStrategy": { "kind": "parameter", "displayName": "Header Filter Strategy", "group": "common", "label": "common", "required": false, "type": "object", "javaType": "org.apache.camel.spi.HeaderFilterStrategy", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "To use a custom HeaderFilterStrategy to filter header [...]
-    "interceptorClasses": { "kind": "parameter", "displayName": "Interceptor Classes", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of classes to use as interceptors. Implementing the org.apache.kafka.clients [...]
-    "metadataMaxAgeMs": { "kind": "parameter", "displayName": "Metadata Max Age Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The period of time in milliseconds after which we force a refresh of meta [...]
-    "metricReporters": { "kind": "parameter", "displayName": "Metric Reporters", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of classes to use as metrics reporters. Implementing the org.apache.kafka.common.m [...]
-    "metricsNumSamples": { "kind": "parameter", "displayName": "Metrics Num Samples", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The number of samples maintained to compute metrics." },
-    "metricsRecordingLevel": { "kind": "parameter", "displayName": "Metrics Recording Level", "group": "common", "label": "common", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "INFO", "DEBUG", "TRACE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "INFO", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The highest re [...]
-    "metricsSampleWindowMs": { "kind": "parameter", "displayName": "Metrics Sample Window Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The window of time a metrics sample is computed over." },
-    "partitionId": { "kind": "parameter", "displayName": "Partition Id", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The partition to which the record will be sent (or null if no partition was specified) or read  [...]
-    "receiveBufferBytes": { "kind": "parameter", "displayName": "Receive Buffer Bytes", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 32768, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The size of the TCP receive buffer (SO_RCVBUF) to use when reading data [...]
-    "reconnectBackoffMaxMs": { "kind": "parameter", "displayName": "Reconnect Backoff Max Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of time in milliseconds to wait when reconne [...]
-    "reconnectBackoffMs": { "kind": "parameter", "displayName": "Reconnect Backoff Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "50ms", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The base amount of time to wait before attempting to reconnect to a  [...]
-    "requestTimeoutMs": { "kind": "parameter", "displayName": "Request Timeout Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The configuration controls the maximum amount of time the client will wait [...]
-    "retryBackoffMs": { "kind": "parameter", "displayName": "Retry Backoff Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "100ms", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The amount of time to wait before attempting to retry a failed request to a [...]
-    "sendBufferBytes": { "kind": "parameter", "displayName": "Send Buffer Bytes", "group": "common", "label": "common", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 131072, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The size of the TCP send buffer (SO_SNDBUF) to use when sending data. If the [...]
-    "socketConnectionSetupTimeoutMaxMs": { "kind": "parameter", "displayName": "Socket Connection Setup Timeout Max Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "30s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of time the clien [...]
-    "socketConnectionSetupTimeoutMs": { "kind": "parameter", "displayName": "Socket Connection Setup Timeout Ms", "group": "common", "label": "common", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The amount of time the client will wait for [...]
-    "allowAutoCreateTopics": { "kind": "parameter", "displayName": "Allow Auto Create Topics", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Allow automatic topic creation on the broker when subscri [...]
-    "allowManualCommit": { "kind": "parameter", "displayName": "Allow Manual Commit", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Whether to allow doing manual commits via org.apache.camel.compon [...]
-    "autoCommitIntervalMs": { "kind": "parameter", "displayName": "Auto Commit Interval Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The frequency in milliseconds that the consumer offsets are au [...]
-    "autoOffsetReset": { "kind": "parameter", "displayName": "Auto Offset Reset", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "latest", "earliest", "none" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "latest", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "What to do when  [...]
-    "checkCrcs": { "kind": "parameter", "displayName": "Check Crcs", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Automatically check the CRC32 of the records consumed. This ensures no on-the-wire  [...]
-    "clientRack": { "kind": "parameter", "displayName": "Client Rack", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A rack identifier for this client. This can be any string value which indicates where this clie [...]
-    "defaultApiTimeoutMs": { "kind": "parameter", "displayName": "Default Api Timeout Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Specifies the timeout (in milliseconds) for client APIs. This co [...]
-    "enableAutoCommit": { "kind": "parameter", "displayName": "Enable Auto Commit", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "If true the consumer's offset will be periodically committed in the  [...]
-    "excludeInternalTopics": { "kind": "parameter", "displayName": "Exclude Internal Topics", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Whether internal topics matching a subscribed pattern shou [...]
-    "fetchMaxBytes": { "kind": "parameter", "displayName": "Fetch Max Bytes", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 52428800, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of data the server should return for a fetch request. R [...]
-    "fetchMaxWaitMs": { "kind": "parameter", "displayName": "Fetch Max Wait Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "500ms", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of time the server will block before answering the f [...]
-    "fetchMinBytes": { "kind": "parameter", "displayName": "Fetch Min Bytes", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The minimum amount of data the server should return for a fetch request. If insuf [...]
-    "groupId": { "kind": "parameter", "displayName": "Group Id", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A unique string that identifies the consumer group this consumer belongs to. This property is require [...]
-    "groupInstanceId": { "kind": "parameter", "displayName": "Group Instance Id", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A unique identifier of the consumer instance provided by the end user. Only non-empt [...]
-    "heartbeatIntervalMs": { "kind": "parameter", "displayName": "Heartbeat Interval Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "3s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The expected time between heartbeats to the consumer coordinator  [...]
-    "isolationLevel": { "kind": "parameter", "displayName": "Isolation Level", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "read_committed", "read_uncommitted" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "read_uncommitted", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "C [...]
-    "keyDeserializer": { "kind": "parameter", "displayName": "Key Deserializer", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.common.serialization.StringDeserializer", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Deseriali [...]
-    "maxPartitionFetchBytes": { "kind": "parameter", "displayName": "Max Partition Fetch Bytes", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of data per-partition the server will [...]
-    "maxPollIntervalMs": { "kind": "parameter", "displayName": "Max Poll Interval Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum delay between invocations of poll() when using consumer  [...]
-    "maxPollRecords": { "kind": "parameter", "displayName": "Max Poll Records", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 500, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum number of records returned in a single call to poll(). Note, that [...]
-    "partitionAssignmentStrategy": { "kind": "parameter", "displayName": "Partition Assignment Strategy", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.clients.consumer.RangeAssignor", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "descript [...]
-    "seekToOffset": { "kind": "parameter", "displayName": "Seek To Offset", "group": "consumer", "label": "consumer", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Set if KafkaConsumer will read from a particular offset on startup. This config will take p [...]
-    "seekToPosition": { "kind": "parameter", "displayName": "Seek To Position", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "beginning", "end" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Set if KafkaConsumer will read from beginning or end o [...]
-    "sessionTimeoutMs": { "kind": "parameter", "displayName": "Session Timeout Ms", "group": "consumer", "label": "consumer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "10s", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The timeout used to detect client failures when using Kafka's group ma [...]
-    "valueDeserializer": { "kind": "parameter", "displayName": "Value Deserializer", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.common.serialization.StringDeserializer", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Deser [...]
-    "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now [...]
-    "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the con [...]
-    "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
-    "acks": { "kind": "parameter", "displayName": "Acks", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "enum": [ "all", "-1", "0", "1" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The number of acknowledgments the producer requires  [...]
-    "batchSize": { "kind": "parameter", "displayName": "Batch Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 16384, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The producer will attempt to batch records together into fewer requests whenever multi [...]
-    "bufferMemory": { "kind": "parameter", "displayName": "Buffer Memory", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 33554432, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The total bytes of memory the producer can use to buffer records waiting to  [...]
-    "compressionType": { "kind": "parameter", "displayName": "Compression Type", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "none", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The compression type for all data generated by the producer.  [...]
-    "deliveryTimeoutMs": { "kind": "parameter", "displayName": "Delivery Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "2m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "An upper bound on the time to report success or failure after a call  [...]
-    "enableIdempotence": { "kind": "parameter", "displayName": "Enable Idempotence", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "When set to 'true', the producer will ensure that exactly one copy [...]
-    "keySerializer": { "kind": "parameter", "displayName": "Key Serializer", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.common.serialization.StringSerializer", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Serializer clas [...]
-    "lingerMs": { "kind": "parameter", "displayName": "Linger Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "0ms", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The producer groups together any records that arrive in between request transmissions  [...]
-    "maxBlockMs": { "kind": "parameter", "displayName": "Max Block Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The configuration controls how long the KafkaProducer's send(), partitionsFor(), i [...]
-    "maxInFlightRequestsPerConnection": { "kind": "parameter", "displayName": "Max In Flight Requests Per Connection", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 5, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum number of unacknowledged req [...]
-    "maxRequestSize": { "kind": "parameter", "displayName": "Max Request Size", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1048576, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum size of a request in bytes. This setting will limit the numbe [...]
-    "metadataMaxIdleMs": { "kind": "parameter", "displayName": "Metadata Max Idle Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "5m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Controls how long the producer will cache metadata for a topic that [...]
-    "partitionerClass": { "kind": "parameter", "displayName": "Partitioner Class", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.clients.producer.internals.DefaultPartitioner", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "P [...]
-    "retries": { "kind": "parameter", "displayName": "Retries", "group": "producer", "label": "producer", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 2147483647, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Setting a value greater than zero will cause the client to resend any record whose sen [...]
-    "transactionalId": { "kind": "parameter", "displayName": "Transactional Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The TransactionalId to use for transactional delivery. This enables reliability seman [...]
-    "transactionTimeoutMs": { "kind": "parameter", "displayName": "Transaction Timeout Ms", "group": "producer", "label": "producer", "required": false, "type": "duration", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "1m", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of time in ms that the transaction coordinat [...]
-    "valueSerializer": { "kind": "parameter", "displayName": "Value Serializer", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "org.apache.kafka.common.serialization.StringSerializer", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Serializer  [...]
-    "lazyStartProducer": { "kind": "parameter", "displayName": "Lazy Start Producer", "group": "producer (advanced)", "label": "producer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may other [...]
-    "saslClientCallbackHandlerClass": { "kind": "parameter", "displayName": "Sasl Client Callback Handler Class", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The fully qualified name of a SASL client cal [...]
-    "saslJaasConfig": { "kind": "parameter", "displayName": "Sasl Jaas Config", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "JAAS login context parameters for SASL connections in the format used by JAAS c [...]
-    "saslKerberosKinitCmd": { "kind": "parameter", "displayName": "Sasl Kerberos Kinit Cmd", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "\/usr\/bin\/kinit", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Kerberos kinit command path." },
-    "saslKerberosMinTimeBeforeRelogin": { "kind": "parameter", "displayName": "Sasl Kerberos Min Time Before Relogin", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 60000, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Login thread sleep time betw [...]
-    "saslKerberosServiceName": { "kind": "parameter", "displayName": "Sasl Kerberos Service Name", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The Kerberos principal name that Kafka runs as. This can be  [...]
-    "saslKerberosTicketRenewJitter": { "kind": "parameter", "displayName": "Sasl Kerberos Ticket Renew Jitter", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.05, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Percentage of random jitter added t [...]
-    "saslKerberosTicketRenewWindowFactor": { "kind": "parameter", "displayName": "Sasl Kerberos Ticket Renew Window Factor", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.8, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Login thread will sleep [...]
-    "saslLoginCallbackHandlerClass": { "kind": "parameter", "displayName": "Sasl Login Callback Handler Class", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The fully qualified name of a SASL login callba [...]
-    "saslLoginClass": { "kind": "parameter", "displayName": "Sasl Login Class", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The fully qualified name of a class that implements the Login interface. For br [...]
-    "saslLoginRefreshBufferSeconds": { "kind": "parameter", "displayName": "Sasl Login Refresh Buffer Seconds", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "short", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "300", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The amount of buffer time before c [...]
-    "saslLoginRefreshMinPeriodSeconds": { "kind": "parameter", "displayName": "Sasl Login Refresh Min Period Seconds", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "short", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "60", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The desired minimum time for [...]
-    "saslLoginRefreshWindowFactor": { "kind": "parameter", "displayName": "Sasl Login Refresh Window Factor", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.8, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Login refresh thread will sleep until  [...]
-    "saslLoginRefreshWindowJitter": { "kind": "parameter", "displayName": "Sasl Login Refresh Window Jitter", "group": "security", "label": "common,security", "required": false, "type": "number", "javaType": "double", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 0.05, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The maximum amount of random jitter r [...]
-    "saslMechanism": { "kind": "parameter", "displayName": "Sasl Mechanism", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "GSSAPI", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "SASL mechanism used for client connections. This may be  [...]
-    "securityProtocol": { "kind": "parameter", "displayName": "Security Protocol", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PLAINTEXT", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Protocol used to communicate with brokers. Vali [...]
-    "securityProviders": { "kind": "parameter", "displayName": "Security Providers", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of configurable creator classes each returning a provider implement [...]
-    "sslCipherSuites": { "kind": "parameter", "displayName": "Ssl Cipher Suites", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "A list of cipher suites. This is a named combination of authentication, encry [...]
-    "sslEnabledProtocols": { "kind": "parameter", "displayName": "Ssl Enabled Protocols", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TLSv1.2,TLSv1.3", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The list of protocols enabled for  [...]
-    "sslEndpointIdentificationAlgorithm": { "kind": "parameter", "displayName": "Ssl Endpoint Identification Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "https", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The endpoint  [...]
-    "sslEngineFactoryClass": { "kind": "parameter", "displayName": "Ssl Engine Factory Class", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The class of type org.apache.kafka.common.security.auth.SslEngin [...]
-    "sslKeymanagerAlgorithm": { "kind": "parameter", "displayName": "Ssl Keymanager Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "SunX509", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The algorithm used by key manager fa [...]
-    "sslKeyPassword": { "kind": "parameter", "displayName": "Ssl Key Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The password of the private key in the key store file orthe PEM key specified i [...]
-    "sslKeystoreCertificateChain": { "kind": "parameter", "displayName": "Ssl Keystore Certificate Chain", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Certificate chain in the format specified by 'ssl.ke [...]
-    "sslKeystoreKey": { "kind": "parameter", "displayName": "Ssl Keystore Key", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Private key in the format specified by 'ssl.keystore.type'. Default SSL engine  [...]
-    "sslKeystoreLocation": { "kind": "parameter", "displayName": "Ssl Keystore Location", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The location of the key store file. This is optional for client and c [...]
-    "sslKeystorePassword": { "kind": "parameter", "displayName": "Ssl Keystore Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The store password for the key store file. This is optional for clien [...]
-    "sslKeystoreType": { "kind": "parameter", "displayName": "Ssl Keystore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The file format of the key store file. This is optiona [...]
-    "sslProtocol": { "kind": "parameter", "displayName": "Ssl Protocol", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "TLSv1.2", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The SSL protocol used to generate the SSLContext. The defau [...]
-    "sslProvider": { "kind": "parameter", "displayName": "Ssl Provider", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The name of the security provider used for SSL connections. Default value is the defau [...]
-    "sslSecureRandomImplementation": { "kind": "parameter", "displayName": "Ssl Secure Random Implementation", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The SecureRandom PRNG implementation to use for  [...]
-    "sslTrustmanagerAlgorithm": { "kind": "parameter", "displayName": "Ssl Trustmanager Algorithm", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "PKIX", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The algorithm used by trust manager [...]
-    "sslTruststoreCertificates": { "kind": "parameter", "displayName": "Ssl Truststore Certificates", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "Trusted certificates in the format specified by 'ssl.trus [...]
-    "sslTruststoreLocation": { "kind": "parameter", "displayName": "Ssl Truststore Location", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The location of the trust store file." },
-    "sslTruststorePassword": { "kind": "parameter", "displayName": "Ssl Truststore Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The password for the trust store file. If a password is not set,  [...]
-    "sslTruststoreType": { "kind": "parameter", "displayName": "Ssl Truststore Type", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "JKS", "configurationClass": "org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", "configurationField": "configuration", "description": "The file format of the trust store file." }
-  }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/docs/vertx-kafka-component.adoc b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/docs/vertx-kafka-component.adoc
deleted file mode 100644
index c9f9cbc96d8..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/docs/vertx-kafka-component.adoc
+++ /dev/null
@@ -1,237 +0,0 @@
-= Vert.x Kafka Component (deprecated)
-:doctitle: Vert.x Kafka
-:shortname: vertx-kafka
-:artifactid: camel-vertx-kafka
-:description: Sent and receive messages to/from an Apache Kafka broker using vert.x Kafka client
-:since: 3.7
-:supportlevel: Stable-deprecated
-:deprecated: *deprecated*
-:component-header: Both producer and consumer are supported
-//Manually maintained attributes
-:camel-spring-boot-name: vertx-kafka
-
-
-*Since Camel {since}*
-
-*{component-header}*
-
-The Vert.x Kafka component is used for communicating with
-http://kafka.apache.org/[Apache Kafka] message broker using https://vertx.io/docs/vertx-kafka-client/java/[Vert.x Kafka Client].
-This allows the component to work in a *full asynchronous* manner that results on *efficiency and better performance* on both sides, *Camel Producer and Camel Consumer*.
-
-[NOTE]
-====
-This component works very similar to xref:components::kafka-component.adoc[Kafka Component]. However there are some features that this component
-does not _yet_  support like storing offsets in idempotent repository and topics patterns.
-However, these features may be added later as improvements to this component.
-====
-
-[NOTE]
-====
-Almost all the Kafka configuration for the component are *auto generated* from Kafka Consumer/Producer configurations. It means that for example the Kafka Consumer configuration
-`connections.max.idle.ms` will be generated as `connectionsMaxIdleMs` for the endpoint option as well as the component option.
-====
-
-[source,xml]
-------------------------------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-vertx-kafka</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-== URI format
-
----------------------------
-vertx-kafka:topic[?options]
----------------------------
-
-Topic can be support a single topic or multiple topics concatenated with `,`. For example, this simple route will consume some data from Kafka and write it to a file:
-
-[source,java]
----------------------------
-from("vertx-kafka/test_topic1,test_topic_2?groupId=group1&autoOffsetReset=earliest&bootstrapServers=kafka1:9092,kafka2:9092")
-to("file://queuedirectory");
----------------------------
-
-
-
-// component-configure options: START
-
-// component-configure options: END
-
-// component options: START
-include::partial$component-configure-options.adoc[]
-include::partial$component-endpoint-options.adoc[]
-// component options: END
-
-// endpoint options: START
-
-// endpoint options: END
-
-For more information about Producer/Consumer configuration:
-
-http://kafka.apache.org/documentation.html#newconsumerconfigs[http://kafka.apache.org/documentation.html#newconsumerconfigs]
-http://kafka.apache.org/documentation.html#producerconfigs[http://kafka.apache.org/documentation.html#producerconfigs]
-
-== Async Consumer and Producer
-
-This component implements the async Consumer and producer.
-
-This allows camel route to consume and produce events asynchronously without blocking any threads.
-
-== Usage
-
-// component headers: START
-include::partial$component-endpoint-headers.adoc[]
-// component headers: END
-
-If you want to send a message to a dynamic topic then use `VertxKafkaConstants.OVERRIDE_TOPIC` as its used as a one-time header
-that are not send along the message, as it's removed in the producer.
-
-=== Message body type
-Currently, the component supports the following value serializers for the body message on the producer side:
-
-* `org.apache.kafka.common.serialization.StringSerializer`: *Default* produce the message as `String`.
-* `org.apache.kafka.common.serialization.ByteArraySerializer`: Produce the messages as `byte[]`.
-* `org.apache.kafka.common.serialization.ByteBufferSerializer` : Produce the messages as `ByteBuffer`.
-
-On the consumer side, Camel will utilize Camel TypeConverter to automatically convert the messages, or you can specify the marshal/unmarshal mechanism in the route.
-
-=== Kafka Headers propagation
-
-When consuming messages from Kafka, Kafka record headers will be propagated to camel exchange headers automatically.
-Producing flow backed by same behaviour - camel headers of particular exchange will be propagated to kafka message headers.
-
-Since vertx kafka headers allows only `io.vertx.core.buffer.Buffer` values, in order camel exchnage header to be propagated its value should be serialized to `io.vertx.core.buffer.Buffer` in case the type is not supported by the component, e.g `Float`,
-otherwise header will be skipped.
-
-Following header value types are supported when producing the message *from* camel *to* kafka: `String`, `Integer`, `Long`, `Double`, `Boolean`, `byte[]`, `io.vertx.core.buffer.Buffer`.
-
-Note: all headers propagated *from* kafka *to* camel exchange will contain `io.vertx.core.buffer.Buffer` value by default.
-
-Having the support of `io.vertx.core.buffer.Buffer` header type, will allow you un-wrap the header to any type without much knowledge in `byte[]`. For example:
-
-[source,java]
-----
-from("direct")
-    .process(exchange -> {
-        // set kafka header
-        exchange.getIn().setHeader("MyHeader", 2.0);
-        exchange.getIn().setBody("test event");
-})
-.to("vertx-kafka:test_topic?bootstrapServers=kafka9092")
-----
-Then later:
-
-[source,java]
-----
-from("vertx-kafka:test_topic?bootstrapServers=kafka9092")
-    .process(exchange -> {
-        // get our kafka header
-        Buffer headerBuffer = exchange.getIn().getHeader("MyHeader");
-        System.out.println(headerBuffer.getDouble(0); // it will print 2.0
-})
-.to("direct)
-----
-
-By default all headers are being filtered by `VertxKafkaHeaderFilterStrategy`.
-Strategy filters out headers which start with `Camel` or `org.apache.camel` prefixes.
-
-
-== Using manual commit with Kafka consumer
-
-By default the Kafka consumer will use auto commit, where the offset will be committed automatically in the background using a given interval.
-
-In case you want to force manual commits, you can use `VertxKafkaManualCommit` API from the Camel Exchange, stored on the message header.
-This requires to turn on manual commits by either setting the option `allowManualCommit` to `true` on the `VertxKafkaComponent`
-or on the endpoint, for example:
-
-[source,java]
-----
-VertxKafkaComponent kafka = new VertxKafkaComponent();
-kafka.setAllowManualCommit(true);
-...
-camelContext.addComponent("vertx-kafka", kafka);
-----
-
-You can then use the `VertxKafkaManualCommit` from Java code such as a Camel `Processor`:
-[source,java]
-----
-public void process(Exchange exchange) {
-    VertxKafkaManualCommit manual =
-        exchange.getIn().getHeader(VertxKafkaConstants.MANUAL_COMMIT, VertxKafkaManualCommit.class);
-    manual.commit();
-}
-----
-
-This will force a asynchronous commit to Kafka.
-
-If you want to use a custom implementation of `VertxKafkaManualCommit` then you can configure a custom `VertxKafkaManualCommitFactory`
-on the `VertxKafkaComponent` that creates instances of your custom implementation.
-
-=== Consumer Example
-Here is the minimal route you need in order to read messages from Kafka.
-
-[source,java]
-----
-from("vertx-kafka:test?bootstrapServers=localhost:9092")
-    .log("Message received from Kafka : ${body}")
-    .log("    on the topic ${headers[VertxKafkaConstants.TOPIC]}")
-    .log("    on the partition ${headers[VertxKafkaConstants.PARTITION_ID]}")
-    .log("    with the offset ${headers[VertxKafkaConstants.OFFSET]}")
-    .log("    with the key ${headers[VertxKafkaConstants.MESSAGE_KEY]}")
-----
-
-If you need to consume messages from multiple topics you can use a comma separated list of topic names
-
-[source,java]
-----
-from("vertx-kafka:test1,test2?bootstrapServers=localhost:9092")
-    .log("Message received from Kafka : ${body}")
-    .log("    on the topic ${headers[VertxKafkaConstants.TOPIC]}")
-    .log("    on the partition ${headers[VertxKafkaConstants.PARTITION_ID]}")
-    .log("    with the offset ${headers[VertxKafkaConstants.OFFSET]}")
-    .log("    with the key ${headers[VertxKafkaConstants.MESSAGE_KEY]}")
-----
-
-=== Producer Example
-
-Here is the minimal route you need in order to write messages to Kafka.
-
-[source,java]
-----
-from("direct")
-    .process(exchange -> {
-        // set kafka header
-        exchange.getIn().setHeader("MyHeader", 2.0);
-        // set message key
-        exchange.getIn().setHeader(VertxKafkaConstants.MESSAGE_KEY, "123456");
-        // set message body
-        exchange.getIn().setBody("test event");
-})
-.to("vertx-kafka:test_topic?bootstrapServers=kafka9092")
-----
-
-Also, the component supports as well *aggregation* of messages by sending events as *iterable* of either Exchanges/Messages or normal data (e.g: list of Strings). For example:
-
-[source,java]
-----
-from("direct:start")
-.process(exchange -> {
-        final List<String> messages = new LinkedList<>();
-        messages.add("Test String Message 1");
-        messages.add("Test String Message 2");
-        // send our messages to partition 0
-        exchange.getIn().setHeader(VertxKafkaConstants.PARTITION_ID, 0);
-        // set message body
-        exchange.getIn().setBody(messages);
-})
-.to("vertx-kafka:test_topic?bootstrapServers=kafka9092")
-----
-
-
-
-include::spring-boot:partial$starter.adoc[]
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/DefaultVertxKafkaClientFactory.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/DefaultVertxKafkaClientFactory.java
deleted file mode 100644
index a95d6a035f1..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/DefaultVertxKafkaClientFactory.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Properties;
-
-import io.vertx.core.Vertx;
-import io.vertx.kafka.client.consumer.KafkaConsumer;
-import io.vertx.kafka.client.producer.KafkaProducer;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.util.ObjectHelper;
-
-/**
- * Default implementation for {@Link VertxKafkaClientFactory} interface.
- *
- * Creates default VertX {@Link KafkaConsumer} and {@Link KafkaProducer} instances.
- */
-public class DefaultVertxKafkaClientFactory implements VertxKafkaClientFactory {
-
-    @Override
-    public <K, V> KafkaConsumer<K, V> getVertxKafkaConsumer(Vertx vertx, Properties config) {
-        return KafkaConsumer.create(vertx, config);
-    }
-
-    @Override
-    public <K, V> KafkaProducer<K, V> getVertxKafkaProducer(Vertx vertx, Properties config) {
-        return KafkaProducer.create(vertx, config);
-    }
-
-    @Override
-    public String getBootstrapBrokers(VertxKafkaConfiguration configuration) {
-        // broker urls is mandatory in this implementation
-        String brokers = configuration.getBootstrapServers();
-        if (ObjectHelper.isEmpty(brokers)) {
-            throw new IllegalArgumentException("URL to the Kafka brokers must be configured with the BootstrapServers option.");
-        }
-        return brokers;
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaClientFactory.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaClientFactory.java
deleted file mode 100644
index 5be736081c3..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaClientFactory.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Properties;
-
-import io.vertx.core.Vertx;
-import io.vertx.kafka.client.consumer.KafkaConsumer;
-import io.vertx.kafka.client.producer.KafkaProducer;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-
-/**
- * Defines the factory that this component uses to create vertx based {@Link KafkaConsumer} and {@Link KafkaProducer}
- * instances.
- */
-public interface VertxKafkaClientFactory {
-
-    /**
-     * Creates a new instance of the {@link org.apache.kafka.clients.consumer.KafkaConsumer} class.
-     *
-     * @param  vertx  vertx instance
-     * @param  config The consumer configs.
-     * @return        an instance of Kafka consumer.
-     */
-    <K, V> KafkaConsumer<K, V> getVertxKafkaConsumer(Vertx vertx, Properties config);
-
-    /**
-     * Creates a new instance of the {@link org.apache.kafka.clients.producer.KafkaProducer} class.
-     *
-     * @param  vertx  vertx instance
-     * @param  config The producer configs.
-     * @return        an instance of Kafka producer.
-     */
-    <K, V> KafkaProducer<K, V> getVertxKafkaProducer(Vertx vertx, Properties config);
-
-    /**
-     * URL of the Kafka brokers to use. The format is host1:port1,host2:port2, and the list can be a subset of brokers
-     * or a VIP pointing to a subset of brokers.
-     * <p/>
-     * This option is known as <tt>bootstrap.servers</tt> in the Kafka documentation.
-     *
-     * @param configuration the configuration
-     */
-    String getBootstrapBrokers(VertxKafkaConfiguration configuration);
-
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponent.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponent.java
deleted file mode 100644
index e7a414d7da8..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponent.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Map;
-
-import io.vertx.core.Vertx;
-import io.vertx.core.VertxOptions;
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.component.vertx.kafka.offset.DefaultVertxKafkaManualCommitFactory;
-import org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommitFactory;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.annotations.Component;
-import org.apache.camel.support.DefaultComponent;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.PropertiesHelper;
-
-@Component("vertx-kafka")
-public class VertxKafkaComponent extends DefaultComponent {
-
-    @Metadata
-    private VertxKafkaConfiguration configuration = new VertxKafkaConfiguration();
-    private boolean managedVertx;
-
-    @Metadata(label = "advanced", autowired = true)
-    private Vertx vertx;
-    @Metadata(label = "advanced")
-    private VertxOptions vertxOptions;
-    @Metadata(label = "advanced", autowired = true)
-    private VertxKafkaClientFactory vertxKafkaClientFactory;
-    @Metadata(label = "consumer,advanced", autowired = true)
-    private VertxKafkaManualCommitFactory kafkaManualCommitFactory;
-
-    public VertxKafkaComponent() {
-    }
-
-    public VertxKafkaComponent(CamelContext context) {
-        super(context);
-    }
-
-    @Override
-    protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        if (ObjectHelper.isEmpty(remaining)) {
-            throw new IllegalArgumentException("Topic must be configured on endpoint using syntax kafka:topic");
-        }
-
-        final VertxKafkaConfiguration configuration
-                = this.configuration != null ? this.configuration.copy() : new VertxKafkaConfiguration();
-        configuration.setTopic(remaining);
-
-        final VertxKafkaEndpoint endpoint = new VertxKafkaEndpoint(uri, this, configuration);
-
-        // extract the additional properties map
-        if (PropertiesHelper.hasProperties(parameters, "additionalProperties.")) {
-            final Map<String, Object> additionalProperties = endpoint.getConfiguration().getAdditionalProperties();
-
-            // add and overwrite additional properties from endpoint to
-            // pre-configured properties
-            additionalProperties.putAll(PropertiesHelper.extractProperties(parameters, "additionalProperties."));
-        }
-
-        setProperties(endpoint, parameters);
-
-        return endpoint;
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-
-        if (vertx == null) {
-            if (vertxOptions != null) {
-                vertx = Vertx.vertx(vertxOptions);
-            } else {
-                vertx = Vertx.vertx();
-            }
-            managedVertx = true;
-        }
-
-        if (vertxKafkaClientFactory == null) {
-            vertxKafkaClientFactory = new DefaultVertxKafkaClientFactory();
-        }
-
-        if (kafkaManualCommitFactory == null) {
-            kafkaManualCommitFactory = new DefaultVertxKafkaManualCommitFactory();
-        }
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        if (managedVertx && vertx != null) {
-            vertx.close();
-            vertx = null;
-        }
-
-        super.doStop();
-    }
-
-    /**
-     * The component configurations
-     */
-    public VertxKafkaConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    public void setConfiguration(VertxKafkaConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-    public Vertx getVertx() {
-        return vertx;
-    }
-
-    /**
-     * To use an existing vertx instead of creating a new instance
-     */
-    public void setVertx(Vertx vertx) {
-        this.vertx = vertx;
-    }
-
-    public VertxOptions getVertxOptions() {
-        return vertxOptions;
-    }
-
-    /**
-     * To provide a custom set of vertx options for configuring vertx
-     */
-    public void setVertxOptions(VertxOptions vertxOptions) {
-        this.vertxOptions = vertxOptions;
-    }
-
-    public VertxKafkaClientFactory getVertxKafkaClientFactory() {
-        return vertxKafkaClientFactory;
-    }
-
-    /**
-     * Factory to use for creating {@Link io.vertx.kafka.client.consumer.KafkaConsumer} and
-     * {@Link io.vertx.kafka.client.consumer.KafkaProducer} instances. This allows to configure a custom factory to
-     * create custom KafkaConsumer and KafkaProducer instances with logic that extends the vanilla VertX Kafka clients.
-     */
-    public void setVertxKafkaClientFactory(VertxKafkaClientFactory vertxKafkaClientFactory) {
-        this.vertxKafkaClientFactory = vertxKafkaClientFactory;
-    }
-
-    /**
-     * Factory to use for creating {@link org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommit}
-     * instances. This allows to plugin a custom factory to create custom
-     * {@link org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommit} instances in case special logic is
-     * needed when doing manual commits that deviates from the default implementation that comes out of the box.
-     */
-    public VertxKafkaManualCommitFactory getKafkaManualCommitFactory() {
-        return kafkaManualCommitFactory;
-    }
-
-    public void setKafkaManualCommitFactory(VertxKafkaManualCommitFactory kafkaManualCommitFactory) {
-        this.kafkaManualCommitFactory = kafkaManualCommitFactory;
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConfigurationOptionsProxy.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConfigurationOptionsProxy.java
deleted file mode 100644
index abccae5105c..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConfigurationOptionsProxy.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.function.Supplier;
-
-import org.apache.camel.Message;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.util.ObjectHelper;
-
-public class VertxKafkaConfigurationOptionsProxy {
-
-    private final VertxKafkaConfiguration configuration;
-
-    public VertxKafkaConfigurationOptionsProxy(final VertxKafkaConfiguration configuration) {
-        this.configuration = configuration;
-    }
-
-    public Integer getPartitionId(final Message message) {
-        return getOption(message, VertxKafkaConstants.PARTITION_ID, configuration::getPartitionId, Integer.class);
-    }
-
-    public Object getMessageKey(final Message message) {
-        return getOption(message, VertxKafkaConstants.MESSAGE_KEY, () -> null, Object.class);
-    }
-
-    public String getKeySerializer() {
-        return configuration.getKeySerializer();
-    }
-
-    public String getValueSerializer() {
-        return configuration.getValueSerializer();
-    }
-
-    public Object getOverrideTimestamp(final Message message) {
-        Object timestamp = getOption(message, VertxKafkaConstants.OVERRIDE_TIMESTAMP, () -> null, Object.class);
-        if (ObjectHelper.isNotEmpty(timestamp)) {
-            // must remove header so its not propagated
-            message.removeHeader(VertxKafkaConstants.OVERRIDE_TIMESTAMP);
-        }
-
-        return timestamp;
-
-    }
-
-    public String getTopic(final Message message) {
-        return getOption(message, VertxKafkaConstants.TOPIC, configuration::getTopic, String.class);
-    }
-
-    public String getOverrideTopic(final Message message) {
-        final String topic = getOption(message, VertxKafkaConstants.OVERRIDE_TOPIC, () -> null, String.class);
-        if (ObjectHelper.isNotEmpty(topic)) {
-            // must remove header so its not propagated
-            message.removeHeader(VertxKafkaConstants.OVERRIDE_TOPIC);
-        }
-
-        return topic;
-    }
-
-    public VertxKafkaConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    private <R> R getOption(
-            final Message message, final String headerName, final Supplier<R> fallbackFn, final Class<R> type) {
-        // we first try to look if our value in exchange otherwise fallback to fallbackFn which could be either a function or constant
-        return ObjectHelper.isEmpty(message) || ObjectHelper.isEmpty(getObjectFromHeaders(message, headerName, type))
-                ? fallbackFn.get()
-                : getObjectFromHeaders(message, headerName, type);
-    }
-
-    private <T> T getObjectFromHeaders(final Message message, final String headerName, final Class<T> classType) {
-        return message.getHeader(headerName, classType);
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConstants.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConstants.java
deleted file mode 100644
index 689baa828b1..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConstants.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import org.apache.camel.spi.Metadata;
-
-public final class VertxKafkaConstants {
-    private static final String HEADER_PREFIX = "CamelVertxKafka";
-    // common headers, set by the consumer and evaluated by the producer
-    @Metadata(description = "*Producer:* Explicitly specify the partition identifier, for example partition `0`. " +
-                            "This will trigger the component to produce all the massages to the specified partition.\n" +
-                            "*Consumer:* The partition identifier where the message were consumed from.",
-              javaType = "Integer")
-    public static final String PARTITION_ID = HEADER_PREFIX + "PartitionId";
-    @Metadata(description = "*Producer:* Explicitly specify the message key, if partition ID is not specified, " +
-                            "this will trigger the messages to go into the same partition.\n" +
-                            "*Consumer:* The message key.",
-              javaType = "String")
-    public static final String MESSAGE_KEY = HEADER_PREFIX + "MessageKey";
-    @Metadata(description = "*Producer:* Explicitly specify the topic to where produce the messages, this will be *preserved* in case of header aggregation.\n"
-                            +
-                            "*Consumer:* The topic from where the message originated.",
-              javaType = "String")
-    public static final String TOPIC = HEADER_PREFIX + "Topic";
-    // headers set by the producer only
-    @Metadata(label = "producer", description = "Produced record metadata.", javaType = "List<RecordMetadata>")
-    public static final String RECORD_METADATA = HEADER_PREFIX + "RecordMetadata";
-    // headers set by the consumer only
-    @Metadata(label = "consumer", description = "The offset of the message in Kafka topic.", javaType = "Long")
-    public static final String OFFSET = HEADER_PREFIX + "Offset";
-    @Metadata(label = "consumer", description = "The record Kafka headers.", javaType = "List<KafkaHeader>")
-    public static final String HEADERS = HEADER_PREFIX + "Headers";
-    @Metadata(label = "consumer", description = "The timestamp of this record.", javaType = "Long")
-    public static final String TIMESTAMP = HEADER_PREFIX + "Timestamp";
-    @Metadata(label = "producer", description = "The ProducerRecord also has an associated timestamp. " +
-                                                "If the user did provide a timestamp, the producer will stamp the  record with the provided timestamp and the header is not preserved.",
-              javaType = "Long")
-    public static final String OVERRIDE_TIMESTAMP = HEADER_PREFIX + "OverrideTimestamp";
-    public static final String MANUAL_COMMIT = HEADER_PREFIX + "ManualCommit";
-    // headers evaluated by the producer only
-    @Metadata(label = "producer", description = "Explicitly specify the topic to where produce the messages," +
-                                                " this will *not be preserved* in case of header aggregation and it will take *precedence* over `CamelVertxKafkaTopic`.",
-              javaType = "String")
-    public static final String OVERRIDE_TOPIC = HEADER_PREFIX + "OverrideTopic";
-
-    private VertxKafkaConstants() {
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumer.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumer.java
deleted file mode 100644
index 45c292d5b57..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumer.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Map;
-
-import io.vertx.core.buffer.Buffer;
-import io.vertx.kafka.client.common.TopicPartition;
-import io.vertx.kafka.client.consumer.KafkaConsumer;
-import io.vertx.kafka.client.consumer.KafkaConsumerRecord;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExtendedExchange;
-import org.apache.camel.Message;
-import org.apache.camel.Processor;
-import org.apache.camel.Suspendable;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommit;
-import org.apache.camel.component.vertx.kafka.operations.VertxKafkaConsumerOperations;
-import org.apache.camel.spi.Synchronization;
-import org.apache.camel.support.DefaultConsumer;
-import org.apache.camel.support.EmptyAsyncCallback;
-import org.apache.camel.support.SynchronizationAdapter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class VertxKafkaConsumer extends DefaultConsumer implements Suspendable {
-
-    private static final Logger LOG = LoggerFactory.getLogger(VertxKafkaConsumer.class);
-
-    private Synchronization onCompletion;
-    private KafkaConsumer<Object, Object> kafkaConsumer;
-
-    public VertxKafkaConsumer(final VertxKafkaEndpoint endpoint, final Processor processor) {
-        super(endpoint, processor);
-    }
-
-    @Override
-    protected void doInit() throws Exception {
-        super.doInit();
-        this.onCompletion = new ConsumerOnCompletion();
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        super.doStart();
-
-        String brokers = getEndpoint().getComponent().getVertxKafkaClientFactory().getBootstrapBrokers(getConfiguration());
-        if (brokers != null) {
-            LOG.debug("Creating KafkaConsumer connecting to BootstrapBrokers: {}", brokers);
-        }
-
-        // create the consumer client
-        kafkaConsumer = getEndpoint().getComponent().getVertxKafkaClientFactory()
-                .getVertxKafkaConsumer(getEndpoint().getVertx(), getConfiguration().createConsumerConfiguration());
-
-        // create the consumer operation
-        final VertxKafkaConsumerOperations consumerOperations
-                = new VertxKafkaConsumerOperations(kafkaConsumer, getConfiguration());
-
-        // process our records
-        consumerOperations.receiveEvents(this::onEventListener, this::onErrorListener);
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        if (kafkaConsumer != null) {
-            kafkaConsumer.close();
-        }
-
-        super.doStop();
-    }
-
-    @Override
-    protected void doSuspend() throws Exception {
-        if (kafkaConsumer != null) {
-            kafkaConsumer.pause();
-        }
-    }
-
-    @Override
-    protected void doResume() throws Exception {
-        if (kafkaConsumer != null) {
-            kafkaConsumer.resume();
-        }
-    }
-
-    public VertxKafkaConfiguration getConfiguration() {
-        return getEndpoint().getConfiguration();
-    }
-
-    @Override
-    public VertxKafkaEndpoint getEndpoint() {
-        return (VertxKafkaEndpoint) super.getEndpoint();
-    }
-
-    private void onEventListener(final KafkaConsumerRecord<Object, Object> record) {
-        final Exchange exchange = createExchange(record);
-        final Map<String, Buffer> propagatedHeaders
-                = new VertxKafkaHeadersPropagation(getConfiguration().getHeaderFilterStrategy())
-                        .getPropagatedHeaders(record.headers(), exchange.getIn());
-
-        // set propagated headers on exchange
-        propagatedHeaders.forEach((key, value) -> exchange.getIn().setHeader(key, value));
-
-        // add exchange callback
-        exchange.adapt(ExtendedExchange.class).addOnCompletion(onCompletion);
-        // send message to next processor in the route
-        getAsyncProcessor().process(exchange, EmptyAsyncCallback.get());
-    }
-
-    private void onErrorListener(final Throwable error) {
-        getExceptionHandler().handleException("Error from Kafka consumer.", error);
-    }
-
-    /**
-     * Strategy when processing the exchange failed.
-     *
-     * @param exchange the exchange
-     */
-    protected void processRollback(Exchange exchange) {
-        final Exception cause = exchange.getException();
-        if (cause != null) {
-            getExceptionHandler().handleException("Error during processing exchange.", exchange, cause);
-        }
-    }
-
-    private Exchange createExchange(final KafkaConsumerRecord<Object, Object> record) {
-        final Exchange exchange = createExchange(true);
-        final Message message = exchange.getIn();
-
-        // set body as byte[] and let camel typeConverters do the job to convert
-        message.setBody(record.record().value());
-
-        // set headers
-        message.setHeader(VertxKafkaConstants.PARTITION_ID, record.partition());
-        message.setHeader(VertxKafkaConstants.TOPIC, record.topic());
-        message.setHeader(VertxKafkaConstants.OFFSET, record.offset());
-        message.setHeader(VertxKafkaConstants.HEADERS, record.headers());
-        message.setHeader(VertxKafkaConstants.TIMESTAMP, record.timestamp());
-        message.setHeader(Exchange.MESSAGE_TIMESTAMP, record.timestamp());
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, record.key());
-
-        // set headers for the manual offsets commit
-        if (getConfiguration().isAllowManualCommit()) {
-            message.setHeader(VertxKafkaConstants.MANUAL_COMMIT, createKafkaManualCommit(kafkaConsumer, record.topic(),
-                    new TopicPartition(record.topic(), record.partition()), record.offset()));
-        }
-
-        return exchange;
-    }
-
-    private VertxKafkaManualCommit createKafkaManualCommit(
-            final KafkaConsumer<Object, Object> consumer, final String topicName,
-            final TopicPartition partition, final long offset) {
-        return getEndpoint().getComponent().getKafkaManualCommitFactory().create(consumer, topicName, partition, offset);
-    }
-
-    private class ConsumerOnCompletion extends SynchronizationAdapter {
-
-        @Override
-        public void onFailure(Exchange exchange) {
-            processRollback(exchange);
-        }
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpoint.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpoint.java
deleted file mode 100644
index de279dd9d71..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaEndpoint.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import io.vertx.core.Vertx;
-import org.apache.camel.Category;
-import org.apache.camel.Component;
-import org.apache.camel.Consumer;
-import org.apache.camel.Processor;
-import org.apache.camel.Producer;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.spi.UriEndpoint;
-import org.apache.camel.spi.UriParam;
-import org.apache.camel.support.DefaultEndpoint;
-
-/**
- * Sent and receive messages to/from an Apache Kafka broker using vert.x Kafka client
- */
-@UriEndpoint(firstVersion = "3.7.0", scheme = "vertx-kafka", title = "Vert.x Kafka", syntax = "vertx-kafka:topic",
-             category = { Category.MESSAGING }, headersClass = VertxKafkaConstants.class)
-public class VertxKafkaEndpoint extends DefaultEndpoint {
-
-    @UriParam
-    private VertxKafkaConfiguration configuration = new VertxKafkaConfiguration();
-
-    public VertxKafkaEndpoint() {
-    }
-
-    public VertxKafkaEndpoint(final String uri, final Component component, final VertxKafkaConfiguration configuration) {
-        super(uri, component);
-        this.configuration = configuration;
-    }
-
-    @Override
-    public Producer createProducer() throws Exception {
-        return new VertxKafkaProducer(this);
-    }
-
-    @Override
-    public Consumer createConsumer(Processor processor) throws Exception {
-        final VertxKafkaConsumer vertxKafkaConsumer = new VertxKafkaConsumer(this, processor);
-        configureConsumer(vertxKafkaConsumer);
-
-        return vertxKafkaConsumer;
-    }
-
-    @Override
-    public VertxKafkaComponent getComponent() {
-        return (VertxKafkaComponent) super.getComponent();
-    }
-
-    public Vertx getVertx() {
-        return getComponent().getVertx();
-    }
-
-    /**
-     * The component configurations
-     */
-    public VertxKafkaConfiguration getConfiguration() {
-        return configuration;
-    }
-
-    public void setConfiguration(VertxKafkaConfiguration configuration) {
-        this.configuration = configuration;
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeaderFilterStrategy.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeaderFilterStrategy.java
deleted file mode 100644
index d674c8deb7e..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeaderFilterStrategy.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import org.apache.camel.support.DefaultHeaderFilterStrategy;
-
-public class VertxKafkaHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
-
-    public VertxKafkaHeaderFilterStrategy() {
-        initialize();
-    }
-
-    protected void initialize() {
-        // filter out kafka record metadata
-        getInFilter().add("org.apache.kafka.clients.producer.RecordMetadata");
-
-        // filter headers beginning with "Camel" or "org.apache.camel" or "kafka."
-        setOutFilterStartsWith("Camel", "camel", "org.apache.camel.", "kafka.");
-        setInFilterStartsWith("Camel", "camel", "org.apache.camel.", "kafka.");
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeadersPropagation.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeadersPropagation.java
deleted file mode 100644
index 9b52cf6b006..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeadersPropagation.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.AbstractMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-import io.vertx.core.buffer.Buffer;
-import io.vertx.kafka.client.producer.KafkaHeader;
-import io.vertx.kafka.client.producer.impl.KafkaHeaderImpl;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.component.vertx.kafka.serde.VertxKafkaHeaderSerializer;
-import org.apache.camel.spi.HeaderFilterStrategy;
-
-public final class VertxKafkaHeadersPropagation {
-
-    private final HeaderFilterStrategy headerFilterStrategy;
-
-    public VertxKafkaHeadersPropagation(final HeaderFilterStrategy headerFilterStrategy) {
-        this.headerFilterStrategy = headerFilterStrategy;
-    }
-
-    public List<KafkaHeader> getPropagatedHeaders(final Message message) {
-        return message.getHeaders().entrySet().stream()
-                .filter(entry -> shouldBeFiltered(entry, message.getExchange(), headerFilterStrategy))
-                .map(VertxKafkaHeadersPropagation::getRecordHeader)
-                .filter(Objects::nonNull)
-                .collect(Collectors.toList());
-    }
-
-    public Map<String, Buffer> getPropagatedHeaders(
-            final List<KafkaHeader> headers, final Message message) {
-        return headers
-                .stream()
-                .filter(entry -> shouldBeFiltered(new AbstractMap.SimpleEntry<>(entry.key(), entry.value()),
-                        message.getExchange(), headerFilterStrategy))
-                .collect(Collectors.toMap(KafkaHeader::key, KafkaHeader::value));
-    }
-
-    private static boolean shouldBeFiltered(
-            Map.Entry<String, Object> entry, Exchange exchange, HeaderFilterStrategy headerFilterStrategy) {
-        return !headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue(), exchange);
-    }
-
-    private static KafkaHeader getRecordHeader(final Map.Entry<String, Object> entry) {
-        final Buffer headerValue = VertxKafkaHeaderSerializer.serialize(entry.getValue());
-
-        if (headerValue == null) {
-            return null;
-        }
-
-        return new KafkaHeaderImpl(entry.getKey(), headerValue);
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaProducer.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaProducer.java
deleted file mode 100644
index a868d2e5cc8..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaProducer.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import io.vertx.kafka.client.producer.KafkaProducer;
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.Exchange;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.component.vertx.kafka.operations.VertxKafkaProducerOperations;
-import org.apache.camel.support.DefaultAsyncProducer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class VertxKafkaProducer extends DefaultAsyncProducer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(VertxKafkaProducer.class);
-
-    private KafkaProducer<Object, Object> kafkaProducer;
-    private VertxKafkaProducerOperations producerOperations;
-
-    public VertxKafkaProducer(final VertxKafkaEndpoint endpoint) {
-        super(endpoint);
-    }
-
-    @Override
-    protected void doStart() {
-        String brokers = getEndpoint().getComponent().getVertxKafkaClientFactory().getBootstrapBrokers(getConfiguration());
-        if (brokers != null) {
-            LOG.debug("Creating KafkaConsumer connecting to BootstrapBrokers: {}", brokers);
-        }
-
-        // create kafka client
-        kafkaProducer = getEndpoint().getComponent().getVertxKafkaClientFactory()
-                .getVertxKafkaProducer(getEndpoint().getVertx(), getConfiguration().createProducerConfiguration());
-
-        // create our operations
-        producerOperations = new VertxKafkaProducerOperations(kafkaProducer, getConfiguration());
-    }
-
-    @Override
-    public boolean process(Exchange exchange, AsyncCallback callback) {
-        try {
-            return producerOperations.sendEvents(exchange.getIn(),
-                    recordMetadata -> exchange.getMessage().setHeader(VertxKafkaConstants.RECORD_METADATA, recordMetadata),
-                    callback);
-        } catch (Exception e) {
-            exchange.setException(e);
-            callback.done(true);
-            return true;
-        }
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        if (kafkaProducer != null) {
-            // shutdown the producer
-            kafkaProducer.close();
-        }
-
-        super.doStop();
-    }
-
-    @Override
-    public VertxKafkaEndpoint getEndpoint() {
-        return (VertxKafkaEndpoint) super.getEndpoint();
-    }
-
-    public VertxKafkaConfiguration getConfiguration() {
-        return getEndpoint().getConfiguration();
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaSendDynamicAware.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaSendDynamicAware.java
deleted file mode 100644
index d0e5323c83c..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/VertxKafkaSendDynamicAware.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.spi.SendDynamicAware;
-import org.apache.camel.spi.annotations.SendDynamic;
-import org.apache.camel.support.service.ServiceSupport;
-import org.apache.camel.util.StringHelper;
-
-/**
- * Kafka based {@link org.apache.camel.spi.SendDynamicAware} which allows to optimise Vertx Kafka components with the
- * toD (dynamic to) DSL in Camel. This implementation optimises by allowing to provide dynamic parameters via
- * {@link VertxKafkaConstants#OVERRIDE_TOPIC} header instead of the endpoint uri. That allows to use a static endpoint
- * and its producer to service dynamic requests.
- */
-@SendDynamic("vertx-kafka")
-public class VertxKafkaSendDynamicAware extends ServiceSupport implements SendDynamicAware {
-
-    private CamelContext camelContext;
-    private String scheme;
-
-    @Override
-    public String getScheme() {
-        return scheme;
-    }
-
-    @Override
-    public void setScheme(String scheme) {
-        this.scheme = scheme;
-    }
-
-    @Override
-    public CamelContext getCamelContext() {
-        return camelContext;
-    }
-
-    @Override
-    public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = camelContext;
-    }
-
-    @Override
-    public boolean isLenientProperties() {
-        return false;
-    }
-
-    @Override
-    public DynamicAwareEntry prepare(Exchange exchange, String uri, String originalUri) throws Exception {
-        return new DynamicAwareEntry(uri, originalUri, null, null);
-    }
-
-    @Override
-    public String resolveStaticUri(Exchange exchange, DynamicAwareEntry entry) throws Exception {
-        String destination = parseTopicName(entry.getUri());
-        if (destination != null) {
-            String originalDestination = parseTopicName(entry.getOriginalUri());
-            if (!destination.equals(originalDestination)) {
-                // okay the topic was dynamic, so use the original as endpoint name
-                String answer = entry.getUri();
-                answer = StringHelper.replaceFirst(answer, destination, originalDestination);
-                return answer;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public Processor createPreProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
-        if (exchange.getMessage().getHeader(VertxKafkaConstants.OVERRIDE_TOPIC) != null) {
-            return null;
-        }
-
-        final String topicName = parseTopicName(entry.getUri());
-        return new Processor() {
-            @Override
-            public void process(Exchange exchange) throws Exception {
-                exchange.getMessage().setHeader(VertxKafkaConstants.OVERRIDE_TOPIC, topicName);
-            }
-        };
-    }
-
-    @Override
-    public Processor createPostProcessor(Exchange exchange, DynamicAwareEntry entry) throws Exception {
-        // no post processor is needed
-        return null;
-    }
-
-    private String parseTopicName(String uri) {
-        // strip query
-        uri = uri.replaceFirst(scheme + "://", ":");
-        int pos = uri.indexOf('?');
-        if (pos != -1) {
-            uri = uri.substring(0, pos);
-        }
-        // topic name is after first colon
-        pos = uri.indexOf(':');
-        if (pos != -1) {
-            return uri.substring(pos + 1);
-        } else {
-            return null;
-        }
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/configuration/BaseVertxKafkaConfiguration.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/configuration/BaseVertxKafkaConfiguration.java
deleted file mode 100644
index 2ad5bfa9a32..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/configuration/BaseVertxKafkaConfiguration.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.configuration;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.component.vertx.kafka.VertxKafkaHeaderFilterStrategy;
-import org.apache.camel.spi.HeaderFilterStrategy;
-import org.apache.camel.spi.HeaderFilterStrategyAware;
-import org.apache.camel.spi.UriParam;
-
-public abstract class BaseVertxKafkaConfiguration implements HeaderFilterStrategyAware {
-
-    @UriParam(label = "common")
-    private HeaderFilterStrategy headerFilterStrategy = new VertxKafkaHeaderFilterStrategy();
-    @UriParam(label = "consumer")
-    private boolean allowManualCommit;
-
-    /**
-     * To use a custom HeaderFilterStrategy to filter header to and from Camel message.
-     */
-    public HeaderFilterStrategy getHeaderFilterStrategy() {
-        return headerFilterStrategy;
-    }
-
-    public void setHeaderFilterStrategy(HeaderFilterStrategy headerFilterStrategy) {
-        this.headerFilterStrategy = headerFilterStrategy;
-    }
-
-    /**
-     * Whether to allow doing manual commits via
-     * {@link org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommit}.
-     * <p/>
-     * If this option is enabled then an instance of
-     * {@link org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommit} is stored on the {@link Exchange}
-     * message header, which allows end users to access this API and perform manual offset commits via the Kafka
-     * consumer.
-     *
-     * Note: To take full control of the offset committing, you may need to disable the Kafka Consumer default auto
-     * commit behavior by setting 'enableAutoCommit' to 'false'.
-     */
-    public boolean isAllowManualCommit() {
-        return allowManualCommit;
-    }
-
-    public void setAllowManualCommit(boolean allowManualCommit) {
-        this.allowManualCommit = allowManualCommit;
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/DefaultVertxKafkaManualCommit.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/DefaultVertxKafkaManualCommit.java
deleted file mode 100644
index d3fd533e97b..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/DefaultVertxKafkaManualCommit.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.offset;
-
-import java.util.Collections;
-
-import io.vertx.kafka.client.common.TopicPartition;
-import io.vertx.kafka.client.consumer.KafkaConsumer;
-import io.vertx.kafka.client.consumer.OffsetAndMetadata;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DefaultVertxKafkaManualCommit implements VertxKafkaManualCommit {
-
-    private static final Logger LOG = LoggerFactory.getLogger(DefaultVertxKafkaManualCommit.class);
-
-    private final KafkaConsumer<Object, Object> kafkaConsumer;
-    private final String topicName;
-    private final TopicPartition partition;
-    private final long recordOffset;
-
-    public DefaultVertxKafkaManualCommit(KafkaConsumer<Object, Object> kafkaConsumer,
-                                         String topicName, TopicPartition partition, long recordOffset) {
-        this.kafkaConsumer = kafkaConsumer;
-        this.topicName = topicName;
-        this.partition = partition;
-        this.recordOffset = recordOffset;
-    }
-
-    @Override
-    public void commit() {
-        commitOffset(partition, recordOffset);
-    }
-
-    private void commitOffset(final TopicPartition partition, final long recordOffset) {
-        if (recordOffset != -1) {
-            LOG.info("Commit offsets from topic {} with offset: {}", topicName, recordOffset);
-            kafkaConsumer.commit(Collections.singletonMap(partition, new OffsetAndMetadata(recordOffset + 1, "")));
-        }
-    }
-
-    public KafkaConsumer<Object, Object> getKafkaConsumer() {
-        return kafkaConsumer;
-    }
-
-    public String getTopicName() {
-        return topicName;
-    }
-
-    public TopicPartition getPartition() {
-        return partition;
-    }
-
-    public long getRecordOffset() {
-        return recordOffset;
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/DefaultVertxKafkaManualCommitFactory.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/DefaultVertxKafkaManualCommitFactory.java
deleted file mode 100644
index baf207397dc..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/DefaultVertxKafkaManualCommitFactory.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.offset;
-
-import io.vertx.kafka.client.common.TopicPartition;
-import io.vertx.kafka.client.consumer.KafkaConsumer;
-
-public class DefaultVertxKafkaManualCommitFactory implements VertxKafkaManualCommitFactory {
-
-    @Override
-    public VertxKafkaManualCommit create(
-            KafkaConsumer<Object, Object> consumer, String topicName,
-            TopicPartition partition, long recordOffset) {
-        return new DefaultVertxKafkaManualCommit(consumer, topicName, partition, recordOffset);
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/VertxKafkaManualCommit.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/VertxKafkaManualCommit.java
deleted file mode 100644
index 07353a6553a..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/VertxKafkaManualCommit.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.offset;
-
-/**
- * Can be used for forcing manual offset commit when using Kafka consumer.
- */
-public interface VertxKafkaManualCommit {
-
-    /**
-     * Commit offsets to Kafka
-     */
-    void commit();
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/VertxKafkaManualCommitFactory.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/VertxKafkaManualCommitFactory.java
deleted file mode 100644
index 6122f327d0c..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/offset/VertxKafkaManualCommitFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.offset;
-
-import io.vertx.kafka.client.common.TopicPartition;
-import io.vertx.kafka.client.consumer.KafkaConsumer;
-import org.apache.camel.Exchange;
-
-/**
- * Factory to create a new {@link VertxKafkaManualCommit} to store on the {@link Exchange}.
- */
-public interface VertxKafkaManualCommitFactory {
-
-    /**
-     * Creates a new instance
-     */
-    VertxKafkaManualCommit create(
-            KafkaConsumer<Object, Object> consumer, String topicName,
-            TopicPartition partition, long recordOffset);
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/TopicSubscription.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/TopicSubscription.java
deleted file mode 100644
index d48d6ca93f7..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/TopicSubscription.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.operations;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import io.vertx.kafka.client.common.TopicPartition;
-import org.apache.camel.util.ObjectHelper;
-
-public class TopicSubscription {
-    private final String configuredTopicName;
-    private final Integer partitionId;
-    private final Long seekToOffset;
-    private final OffsetPosition seekToPosition;
-
-    public TopicSubscription(String configuredTopicName, Integer partitionId, Long seekToOffset, String seekToPosition) {
-        this.configuredTopicName = configuredTopicName;
-        this.partitionId = partitionId;
-        this.seekToOffset = seekToOffset;
-
-        if (ObjectHelper.equal(seekToPosition, OffsetPosition.BEGINNING.string)) {
-            this.seekToPosition = OffsetPosition.BEGINNING;
-        } else if (ObjectHelper.equal(seekToPosition, OffsetPosition.END.string)) {
-            this.seekToPosition = OffsetPosition.END;
-        } else {
-            this.seekToPosition = null;
-        }
-    }
-
-    public String getConfiguredTopicName() {
-        return configuredTopicName;
-    }
-
-    public Set<String> getTopics() {
-        return new HashSet<>(Arrays.asList(configuredTopicName.split(",")));
-    }
-
-    public Integer getPartitionId() {
-        return partitionId;
-    }
-
-    public Long getSeekToOffset() {
-        return seekToOffset;
-    }
-
-    public OffsetPosition getSeekToPosition() {
-        return seekToPosition;
-    }
-
-    public Set<TopicPartition> getTopicPartitions() {
-        return getTopics()
-                .stream()
-                .map(topic -> new TopicPartition().setPartition(partitionId).setTopic(topic))
-                .collect(Collectors.toSet());
-    }
-
-    public enum OffsetPosition {
-        END("end"),
-        BEGINNING("beginning");
-
-        final String string;
-
-        OffsetPosition(String string) {
-            this.string = string;
-        }
-
-        @Override
-        public String toString() {
-            return string;
-        }
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaConsumerOperations.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaConsumerOperations.java
deleted file mode 100644
index 1d26836f770..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaConsumerOperations.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.operations;
-
-import java.util.Set;
-import java.util.function.BiConsumer;
-import java.util.function.Consumer;
-
-import io.vertx.core.AsyncResult;
-import io.vertx.core.Handler;
-import io.vertx.kafka.client.common.TopicPartition;
-import io.vertx.kafka.client.consumer.KafkaConsumer;
-import io.vertx.kafka.client.consumer.KafkaConsumerRecord;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.function.TriConsumer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import reactor.core.publisher.Flux;
-import reactor.core.publisher.Mono;
-import reactor.core.publisher.MonoSink;
-
-public class VertxKafkaConsumerOperations {
-
-    private static final Logger LOG = LoggerFactory.getLogger(VertxKafkaConsumerOperations.class);
-
-    private final KafkaConsumer<Object, Object> kafkaConsumer;
-    private final VertxKafkaConfiguration configuration;
-
-    public VertxKafkaConsumerOperations(final KafkaConsumer<Object, Object> kafkaConsumer,
-                                        final VertxKafkaConfiguration configuration) {
-        this.kafkaConsumer = kafkaConsumer;
-        this.configuration = configuration;
-    }
-
-    public void receiveEvents(
-            final Consumer<KafkaConsumerRecord<Object, Object>> recordHandler, final Consumer<Throwable> errorHandler) {
-
-        if (ObjectHelper.isEmpty(configuration.getTopic())) {
-            throw new IllegalArgumentException("Topic or list of topics need to be set in the topic config.");
-        }
-
-        final TopicSubscription topicSubscription = new TopicSubscription(
-                configuration.getTopic(), configuration.getPartitionId(), configuration.getSeekToOffset(),
-                configuration.getSeekToPosition());
-
-        // register our record handler
-        kafkaConsumer.handler(recordHandler::accept);
-
-        // register our exception handler
-        kafkaConsumer.exceptionHandler(errorHandler::accept);
-
-        if (ObjectHelper.isEmpty(topicSubscription.getPartitionId())) {
-            // we subscribe to all partitions if the user does not specify any particular partition to consume from
-            subscribe(topicSubscription, errorHandler);
-        } else {
-            // else we have to assign to particular partition manually
-            assign(topicSubscription, errorHandler);
-        }
-    }
-
-    private void subscribe(
-            final TopicSubscription topicSubscription, final Consumer<Throwable> errorHandler) {
-        LOG.info("Subscribing to {} topics", topicSubscription.getConfiguredTopicName());
-        // once the consumer has assigned partitions on startup, we will attempt to seek, we just register the handler before
-        // since we use on assigment handler
-        seekOnPartitionAssignment(topicSubscription, errorHandler);
-
-        subscribeToTopics(topicSubscription.getTopics())
-                .subscribe(unused -> {
-                }, errorHandler, () -> {
-                });
-    }
-
-    private void seekOnPartitionAssignment(
-            final TopicSubscription topicSubscription, final Consumer<Throwable> errorHandler) {
-        // seek if we have either position
-        if (isSeekToSet(topicSubscription)) {
-            // once we have our partitions assigned, we start to seek
-            getTopicPartitionsOnPartitionAssignment()
-                    .flatMap(topicPartition -> seekToOffsetOrPositionInPartition(topicPartition, topicSubscription))
-                    .subscribe(result -> {
-                    }, errorHandler, () -> LOG.info("Seeking partitions is done."));
-        }
-    }
-
-    private boolean isSeekToSet(final TopicSubscription topicSubscription) {
-        return ObjectHelper.isNotEmpty(topicSubscription.getSeekToOffset())
-                || ObjectHelper.isNotEmpty(topicSubscription.getSeekToPosition());
-    }
-
-    private Flux<TopicPartition> getTopicPartitionsOnPartitionAssignment() {
-        return Flux.create(sink -> kafkaConsumer.partitionsAssignedHandler(partitions -> {
-            LOG.info("Partition {} is assigned to consumer", partitions);
-            partitions.forEach(topicPartition -> {
-                LOG.info("Partition {} is assigned to consumer for topic {}", topicPartition.getPartition(),
-                        topicPartition.getTopic());
-                sink.next(topicPartition);
-            });
-            // make sure we complete all partitions so it only happens once
-            sink.complete();
-        }));
-    }
-
-    private Mono<Void> seekToOffsetOrPositionInPartition(
-            final TopicPartition topicPartition, final TopicSubscription topicSubscription) {
-        if (ObjectHelper.isNotEmpty(topicSubscription.getSeekToOffset())) {
-            // if offset is set, then we seek the partition to that offset
-            LOG.info("Seeking topic {} with partition {} to offset {}.", topicPartition.getTopic(),
-                    topicPartition.getPartition(), topicSubscription.getSeekToOffset());
-            return wrapToMono(kafkaConsumer::seek, topicPartition, topicSubscription.getSeekToOffset());
-        } else {
-            // we have position set here, let's handle this
-            return seekToPosition(topicPartition, topicSubscription.getSeekToPosition());
-        }
-    }
-
-    private Mono<Void> seekToPosition(
-            final TopicPartition topicPartition, final TopicSubscription.OffsetPosition position) {
-        switch (position) {
-            case BEGINNING:
-                LOG.info("Seeking topic {} with partition {} to the beginning.", topicPartition.getTopic(),
-                        topicPartition.getPartition());
-                return wrapToMono(kafkaConsumer::seekToBeginning, topicPartition);
-
-            case END:
-                LOG.info("Seeking topic {} with partition {} to the end.", topicPartition.getTopic(),
-                        topicPartition.getPartition());
-                return wrapToMono(kafkaConsumer::seekToEnd, topicPartition);
-
-            default:
-                LOG.warn("No valid positions being set, hence the seeking operation will be ignored.");
-                return Mono.empty();
-        }
-    }
-
-    private Mono<Void> subscribeToTopics(final Set<String> topics) {
-        return wrapToMono(kafkaConsumer::subscribe, topics);
-    }
-
-    private void assign(final TopicSubscription topicSubscription, final Consumer<Throwable> errorHandler) {
-        LOG.info("Assigning topics {} to partition {}", topicSubscription.getConfiguredTopicName(),
-                topicSubscription.getPartitionId());
-
-        assignToPartitions(topicSubscription.getTopicPartitions())
-                // once we have successfully assigned our partition, we proceed to seek in case we have conditions met
-                .then(seekPartitionsManually(topicSubscription))
-                .subscribe(unused -> {
-                }, errorHandler, () -> {
-                });
-    }
-
-    private Mono<Void> seekPartitionsManually(final TopicSubscription topicSubscription) {
-        // seek if we have either position
-        if (isSeekToSet(topicSubscription)) {
-            return Flux.fromIterable(topicSubscription.getTopicPartitions())
-                    .flatMap(topicPartition -> seekToOffsetOrPositionInPartition(topicPartition, topicSubscription))
-                    .doOnComplete(() -> LOG.info("Seeking partitions is done."))
-                    .then();
-        }
-        return Mono.empty();
-    }
-
-    private Mono<Void> assignToPartitions(final Set<TopicPartition> topicPartitions) {
-        return wrapToMono(kafkaConsumer::assign, topicPartitions);
-    }
-
-    private <R, V> Mono<R> wrapToMono(final BiConsumer<V, Handler<AsyncResult<R>>> fn, final V input) {
-        return Mono.create(sink -> fn.accept(input, result -> wrapAsyncResult(sink, result)));
-    }
-
-    private <R, V1, V2> Mono<R> wrapToMono(
-            final TriConsumer<V1, V2, Handler<AsyncResult<R>>> fn, final V1 input1, final V2 input2) {
-        return Mono.create(sink -> fn.accept(input1, input2, result -> wrapAsyncResult(sink, result)));
-    }
-
-    private <R> void wrapAsyncResult(final MonoSink<R> sink, final AsyncResult<R> result) {
-        if (result.failed()) {
-            sink.error(result.cause());
-        } else {
-            sink.success(result.result());
-        }
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaProducerOperations.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaProducerOperations.java
deleted file mode 100644
index c3a06943a7f..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaProducerOperations.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.operations;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.function.Consumer;
-
-import io.vertx.kafka.client.producer.KafkaHeader;
-import io.vertx.kafka.client.producer.KafkaProducer;
-import io.vertx.kafka.client.producer.KafkaProducerRecord;
-import io.vertx.kafka.client.producer.RecordMetadata;
-import org.apache.camel.AsyncCallback;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.component.vertx.kafka.VertxKafkaConfigurationOptionsProxy;
-import org.apache.camel.component.vertx.kafka.VertxKafkaConstants;
-import org.apache.camel.component.vertx.kafka.VertxKafkaHeadersPropagation;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.component.vertx.kafka.serde.VertxKafkaTypeSerializer;
-import org.apache.camel.util.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import reactor.core.publisher.Flux;
-import reactor.core.publisher.Mono;
-
-public class VertxKafkaProducerOperations {
-
-    private static final Logger LOG = LoggerFactory.getLogger(VertxKafkaProducerOperations.class);
-
-    private final KafkaProducer<Object, Object> kafkaProducer;
-    private final VertxKafkaConfigurationOptionsProxy configurationOptionsProxy;
-
-    public VertxKafkaProducerOperations(final KafkaProducer<Object, Object> kafkaProducer,
-                                        final VertxKafkaConfiguration configuration) {
-        ObjectHelper.notNull(kafkaProducer, "kafkaProducer");
-        ObjectHelper.notNull(configuration, "configuration");
-
-        this.kafkaProducer = kafkaProducer;
-        configurationOptionsProxy = new VertxKafkaConfigurationOptionsProxy(configuration);
-    }
-
-    public boolean sendEvents(final Message inMessage, final AsyncCallback callback) {
-        return sendEvents(inMessage, unused -> LOG.debug("Processed one event..."), callback);
-    }
-
-    public boolean sendEvents(
-            final Message inMessage, final Consumer<List<RecordMetadata>> resultCallback, final AsyncCallback callback) {
-        sendAsyncEvents(inMessage)
-                .subscribe(resultCallback, error -> {
-                    // error but we continue
-                    if (LOG.isDebugEnabled()) {
-                        LOG.debug("Error processing async exchange with error: {}", error.getMessage());
-                    }
-                    inMessage.getExchange().setException(error);
-                    callback.done(false);
-                }, () -> {
-                    // we are done from everything, so mark it as sync done
-                    LOG.trace("All events with exchange have been sent successfully.");
-                    callback.done(false);
-                });
-
-        return false;
-    }
-
-    private Mono<List<RecordMetadata>> sendAsyncEvents(final Message inMessage) {
-        return Flux.fromIterable(createKafkaProducerRecords(inMessage))
-                .flatMap(this::sendDataToKafka)
-                .collectList()
-                .doOnError(error -> LOG.error(error.getMessage()));
-    }
-
-    private Mono<RecordMetadata> sendDataToKafka(final KafkaProducerRecord<Object, Object> producerRecord) {
-        return Mono.create(sink -> kafkaProducer.send(producerRecord, asyncResult -> {
-            if (asyncResult.failed()) {
-                sink.error(asyncResult.cause());
-            } else {
-                sink.success(asyncResult.result());
-            }
-        }));
-    }
-
-    @SuppressWarnings("unchecked")
-    private Iterable<KafkaProducerRecord<Object, Object>> createKafkaProducerRecords(final Message inMessage) {
-        // check if our exchange is list or contain some values
-        if (inMessage.getBody() instanceof Iterable) {
-            return createProducerRecordFromIterable((Iterable<Object>) inMessage.getBody(), inMessage);
-        }
-
-        // we have only a single event here
-        return Collections.singletonList(createProducerRecordFromMessage(inMessage, null));
-    }
-
-    private Iterable<KafkaProducerRecord<Object, Object>> createProducerRecordFromIterable(
-            final Iterable<Object> inputData, final Message message) {
-        final List<KafkaProducerRecord<Object, Object>> finalRecords = new LinkedList<>();
-
-        final String parentTopic = getTopic(message, null);
-
-        inputData.forEach(data -> {
-            if (data instanceof Exchange) {
-                finalRecords.add(createProducerRecordFromExchange((Exchange) data, parentTopic));
-            } else if (data instanceof Message) {
-                finalRecords.add(createProducerRecordFromMessage((Message) data, parentTopic));
-            } else {
-                finalRecords.add(createProducerRecordFromObject(data, message, parentTopic));
-            }
-        });
-
-        return finalRecords;
-    }
-
-    private KafkaProducerRecord<Object, Object> createProducerRecordFromExchange(
-            final Exchange exchange, final String parentTopic) {
-        return createProducerRecordFromMessage(exchange.getIn(), parentTopic);
-    }
-
-    private KafkaProducerRecord<Object, Object> createProducerRecordFromMessage(
-            final Message message, final String parentTopic) {
-        return createProducerRecordFromObject(message.getBody(), message, parentTopic);
-    }
-
-    private KafkaProducerRecord<Object, Object> createProducerRecordFromObject(
-            final Object inputData, final Message message, final String parentTopic) {
-
-        final String topic = getTopic(message, parentTopic);
-        final Object messageKey = getMessageKey(message);
-        final Object messageValue = getMessageValue(message, inputData);
-        final Integer partitionId = getPartitionId(message);
-        final Long overrideTimestamp = getOverrideTimestamp(message);
-        final List<KafkaHeader> propagatedHeaders
-                = new VertxKafkaHeadersPropagation(configurationOptionsProxy.getConfiguration().getHeaderFilterStrategy())
-                        .getPropagatedHeaders(message);
-
-        return KafkaProducerRecord.create(topic, messageKey, messageValue, overrideTimestamp, partitionId)
-                .addHeaders(propagatedHeaders);
-    }
-
-    private String getTopic(final Message message, final String parentTopic) {
-        final String innerOverrideTopic = configurationOptionsProxy.getOverrideTopic(message);
-        final String innerMessageTopic = message.getHeader(VertxKafkaConstants.TOPIC, String.class);
-
-        final String topic = getTopic(message, innerOverrideTopic, innerMessageTopic, parentTopic);
-
-        if (ObjectHelper.isEmpty(topic)) {
-            throw new IllegalArgumentException("Topic cannot be empty, provide a topic in the config or in the headers.");
-        }
-
-        return topic;
-    }
-
-    private String getTopic(
-            final Message message, final String innerOverrideTopic, final String innerTopic, final String parentTopic) {
-        // first check if we have override topic on inner message otherwise fall to innerTopic
-        // second check if we have a innerTopic on inner message otherwise fall to parentTopic (from the main exchange)
-        // third check if we have a parent topic (set in the headers of TOPIC) in the main exchange otherwise fall to config
-        final String firstCheckStep = ObjectHelper.isEmpty(innerOverrideTopic) ? innerTopic : innerOverrideTopic;
-        final String secondCheckStep = ObjectHelper.isEmpty(firstCheckStep) ? parentTopic : firstCheckStep;
-
-        // third check step
-        return ObjectHelper.isEmpty(secondCheckStep) ? configurationOptionsProxy.getTopic(message) : secondCheckStep;
-    }
-
-    private Object getMessageKey(final Message message) {
-        return VertxKafkaTypeSerializer.tryConvertToSerializedType(message,
-                configurationOptionsProxy.getMessageKey(message),
-                configurationOptionsProxy.getKeySerializer());
-    }
-
-    private Integer getPartitionId(final Message message) {
-        return configurationOptionsProxy.getPartitionId(message);
-    }
-
-    private Object getMessageValue(final Message message, final Object inputData) {
-        return VertxKafkaTypeSerializer.tryConvertToSerializedType(message, inputData,
-                configurationOptionsProxy.getValueSerializer());
-    }
-
-    private Long getOverrideTimestamp(final Message message) {
-
-        Object timeStamp = configurationOptionsProxy.getOverrideTimestamp(message);
-        Long overrideTimestamp = null;
-        if (ObjectHelper.isNotEmpty(timeStamp)) {
-            overrideTimestamp = (Long) timeStamp;
-        }
-
-        return overrideTimestamp;
-
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaHeaderSerializer.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaHeaderSerializer.java
deleted file mode 100644
index bfb8fc186a3..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaHeaderSerializer.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.serde;
-
-import io.vertx.core.buffer.Buffer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public final class VertxKafkaHeaderSerializer {
-
-    private static final Logger LOG = LoggerFactory.getLogger(VertxKafkaHeaderSerializer.class);
-
-    private VertxKafkaHeaderSerializer() {
-    }
-
-    public static Buffer serialize(final Object value) {
-        if (value instanceof String) {
-            return Buffer.buffer((String) value);
-        } else if (value instanceof Long) {
-            return Buffer.buffer().appendLong((Long) value);
-        } else if (value instanceof Integer) {
-            return Buffer.buffer().appendInt((Integer) value);
-        } else if (value instanceof Double) {
-            return Buffer.buffer().appendDouble((Double) value);
-        } else if (value instanceof Boolean) {
-            return Buffer.buffer(value.toString());
-        } else if (value instanceof Buffer) {
-            return (Buffer) value;
-        } else if (value instanceof byte[]) {
-            return Buffer.buffer((byte[]) value);
-        }
-        LOG.debug("Cannot propagate header value of type[{}], skipping... "
-                  + "Supported types: String, Integer, Long, Double, byte[].",
-                value != null ? value.getClass() : "null");
-        return null;
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaTypeSerializer.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaTypeSerializer.java
deleted file mode 100644
index 54a399c1f6a..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/main/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaTypeSerializer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.serde;
-
-import java.nio.ByteBuffer;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.util.ObjectHelper;
-import org.apache.kafka.common.utils.Bytes;
-
-public final class VertxKafkaTypeSerializer {
-
-    private static final Map<String, Class<?>> TYPE_TO_CLASS = new HashMap<>();
-
-    static {
-        bind("org.apache.kafka.common.serialization.StringSerializer", String.class);
-        bind("org.apache.kafka.common.serialization.ByteArraySerializer", byte[].class);
-        bind("org.apache.kafka.common.serialization.ByteBufferSerializer", ByteBuffer.class);
-    }
-
-    private VertxKafkaTypeSerializer() {
-    }
-
-    public static Object tryConvertToSerializedType(
-            final Message message, final Object inputValue, final String valueSerializer) {
-        ObjectHelper.notNull(message, "message");
-
-        if (inputValue == null) {
-            return null;
-        }
-
-        // Special case for BytesSerializer
-        if ("org.apache.kafka.common.serialization.BytesSerializer".equals(valueSerializer)) {
-            final byte[] valueAsByteArr = convertValue(message.getExchange(), inputValue, byte[].class);
-            if (valueAsByteArr != null) {
-                return new Bytes(valueAsByteArr);
-            }
-        }
-
-        final Object convertedValue = convertValue(message.getExchange(), inputValue, TYPE_TO_CLASS.get(valueSerializer));
-
-        if (ObjectHelper.isNotEmpty(convertedValue)) {
-            return convertedValue;
-        }
-
-        // we couldn't convert the value, hence return the original value
-        return inputValue;
-    }
-
-    private static <T> T convertValue(final Exchange exchange, final Object inputValue, final Class<T> type) {
-        if (type == null) {
-            return null;
-        }
-        return exchange.getContext().getTypeConverter().tryConvertTo(type, exchange, inputValue);
-    }
-
-    private static void bind(final String type, final Class<?> typeClass) {
-        TYPE_TO_CLASS.put(type, typeClass);
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/BaseEmbeddedKafkaTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/BaseEmbeddedKafkaTest.java
deleted file mode 100644
index 77ad152334c..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/BaseEmbeddedKafkaTest.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Properties;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.test.infra.kafka.services.KafkaService;
-import org.apache.camel.test.infra.kafka.services.KafkaServiceFactory;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.apache.kafka.clients.admin.AdminClient;
-import org.apache.kafka.clients.admin.KafkaAdminClient;
-import org.apache.kafka.clients.producer.ProducerConfig;
-import org.apache.kafka.clients.producer.internals.DefaultPartitioner;
-import org.apache.kafka.common.serialization.StringSerializer;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.extension.RegisterExtension;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public abstract class BaseEmbeddedKafkaTest extends CamelTestSupport {
-    @RegisterExtension
-    public static KafkaService service = KafkaServiceFactory.createService();
-
-    protected static AdminClient kafkaAdminClient;
-
-    private static final Logger LOG = LoggerFactory.getLogger(BaseEmbeddedKafkaTest.class);
-
-    @BeforeAll
-    public static void beforeClass() {
-        LOG.info("### Embedded Kafka cluster broker list: " + service.getBootstrapServers());
-        System.setProperty("bootstrapServers", service.getBootstrapServers());
-    }
-
-    @BeforeEach
-    public void setKafkaAdminClient() {
-        if (kafkaAdminClient == null) {
-            kafkaAdminClient = createAdminClient();
-        }
-    }
-
-    protected Properties getDefaultProperties() {
-        LOG.info("Connecting to Kafka {}", service.getBootstrapServers());
-
-        Properties props = new Properties();
-        props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, service.getBootstrapServers());
-        props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
-        props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
-        props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, DefaultPartitioner.class);
-        props.put(ProducerConfig.ACKS_CONFIG, "1");
-        return props;
-    }
-
-    @Override
-    protected CamelContext createCamelContext() throws Exception {
-        CamelContext context = super.createCamelContext();
-        context.getPropertiesComponent().setLocation("ref:prop");
-
-        VertxKafkaComponent kafka = new VertxKafkaComponent(context);
-        kafka.init();
-        kafka.getConfiguration().setBootstrapServers(service.getBootstrapServers());
-        context.addComponent("vertx-kafka", kafka);
-
-        return context;
-    }
-
-    private static AdminClient createAdminClient() {
-        final Properties properties = new Properties();
-        properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, service.getBootstrapServers());
-
-        return KafkaAdminClient.create(properties);
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/MockConsumerInterceptor.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/MockConsumerInterceptor.java
deleted file mode 100644
index 5d8e6545981..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/MockConsumerInterceptor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.ArrayList;
-import java.util.Map;
-
-import org.apache.kafka.clients.consumer.ConsumerInterceptor;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
-import org.apache.kafka.clients.consumer.OffsetAndMetadata;
-import org.apache.kafka.common.TopicPartition;
-
-public class MockConsumerInterceptor implements ConsumerInterceptor<String, String> {
-
-    public static ArrayList<ConsumerRecords<String, String>> recordsCaptured = new ArrayList<>();
-
-    @Override
-    public ConsumerRecords<String, String> onConsume(ConsumerRecords<String, String> consumerRecords) {
-        recordsCaptured.add(consumerRecords);
-        return consumerRecords;
-    }
-
-    @Override
-    public void onCommit(Map<TopicPartition, OffsetAndMetadata> map) {
-        // noop
-    }
-
-    @Override
-    public void close() {
-        // noop
-    }
-
-    @Override
-    public void configure(Map<String, ?> map) {
-        // noop
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaAutowireTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaAutowireTest.java
deleted file mode 100644
index cc9143363fa..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaAutowireTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import io.vertx.core.Vertx;
-import org.apache.camel.BindToRegistry;
-import org.apache.camel.component.vertx.kafka.offset.DefaultVertxKafkaManualCommitFactory;
-import org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommitFactory;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtensionContext;
-
-import static org.junit.jupiter.api.Assertions.assertSame;
-
-public class VertxKafkaAutowireTest extends CamelTestSupport {
-
-    @BindToRegistry
-    Vertx vertx = Vertx.vertx();
-
-    @BindToRegistry
-    VertxKafkaClientFactory clientFactory = new TestVertxKafkaClientFactory();
-
-    @BindToRegistry
-    VertxKafkaManualCommitFactory commitFactory = new TestVertxKafkaManualCommitFactory();
-
-    @Override
-    public void afterAll(ExtensionContext context) {
-        super.afterAll(context);
-        vertx.close();
-    }
-
-    @Test
-    public void testVertxKafkaComponentAutowiring() {
-        VertxKafkaComponent component = context.getComponent("vertx-kafka", VertxKafkaComponent.class);
-        assertSame(vertx, component.getVertx());
-        assertSame(clientFactory, component.getVertxKafkaClientFactory());
-        assertSame(commitFactory, component.getKafkaManualCommitFactory());
-    }
-
-    static final class TestVertxKafkaClientFactory extends DefaultVertxKafkaClientFactory {
-
-    }
-
-    static final class TestVertxKafkaManualCommitFactory extends DefaultVertxKafkaManualCommitFactory {
-
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaBufferConverterTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaBufferConverterTest.java
deleted file mode 100644
index 0c9dfe57b76..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaBufferConverterTest.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.io.InputStream;
-import java.nio.charset.Charset;
-
-import io.netty.buffer.Unpooled;
-import io.vertx.core.buffer.Buffer;
-import org.apache.camel.Exchange;
-import org.apache.camel.builder.ExchangeBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-public class VertxKafkaBufferConverterTest extends CamelTestSupport {
-
-    private static final String BODY = "Hello World";
-
-    @Test
-    public void testStringToBuffer() {
-        Buffer buffer = context.getTypeConverter().convertTo(Buffer.class, BODY);
-        Assertions.assertEquals(BODY, buffer.toString());
-    }
-
-    @Test
-    public void testStringToBufferWithEncoding() {
-        String encodedString = "Ťava dvojhrbá";
-        Exchange exchange = ExchangeBuilder.anExchange(context)
-                .withHeader(Exchange.CONTENT_TYPE, "text/html; charset=iso-8859-2").build();
-        Buffer buffer = context.getTypeConverter().convertTo(Buffer.class, exchange, encodedString);
-        Assertions.assertArrayEquals(encodedString.getBytes(Charset.forName("iso-8859-2")), buffer.getBytes());
-    }
-
-    @Test
-    public void testByteArrayToBuffer() {
-        Buffer buffer = context.getTypeConverter().convertTo(Buffer.class, BODY.getBytes());
-        Assertions.assertEquals(BODY, buffer.toString());
-    }
-
-    @Test
-    public void testByteBufToBuffer() {
-        Buffer buffer = context.getTypeConverter().convertTo(Buffer.class, Unpooled.wrappedBuffer(BODY.getBytes()));
-        Assertions.assertEquals(BODY, buffer.toString());
-    }
-
-    @Test
-    public void testInputStreamToBuffer() {
-        InputStream inputStream = context.getTypeConverter().convertTo(InputStream.class, BODY);
-        Buffer buffer = context.getTypeConverter().convertTo(Buffer.class, inputStream);
-        Assertions.assertEquals(BODY, buffer.toString());
-    }
-
-    @Test
-    public void testBufferToString() {
-        String result = context.getTypeConverter().convertTo(String.class, Buffer.buffer(BODY));
-        Assertions.assertEquals(BODY, result);
-    }
-
-    @Test
-    public void testBufferToStringWithEncoding() {
-        String encodedString = "Ťava dvojhrbá";
-        Exchange exchange = ExchangeBuilder.anExchange(context)
-                .withHeader(Exchange.CONTENT_TYPE, "text/plain; charset=iso-8859-2").build();
-        String result = context.getTypeConverter()
-                .convertTo(String.class, exchange, Buffer.buffer(encodedString, "iso-8859-2"));
-        Assertions.assertEquals(encodedString, result);
-    }
-
-    @Test
-    public void testBufferToByteArray() {
-        byte[] result = context.getTypeConverter().convertTo(byte[].class, Buffer.buffer(BODY.getBytes()));
-        Assertions.assertEquals(BODY, new String(result));
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponentTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponentTest.java
deleted file mode 100644
index a7d81e726a4..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaComponentTest.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.component.vertx.kafka.offset.DefaultVertxKafkaManualCommitFactory;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.apache.kafka.clients.CommonClientConfigs;
-import org.apache.kafka.clients.producer.ProducerConfig;
-import org.apache.kafka.common.config.SaslConfigs;
-import org.apache.kafka.common.config.SslConfigs;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class VertxKafkaComponentTest extends CamelTestSupport {
-
-    @Test
-    void testPropertiesSet() {
-        String uri = "vertx-kafka:mytopic?bootstrapServers=broker1:12345,broker2:12566&partitionerClass=com.class.Party";
-
-        VertxKafkaEndpoint endpoint = context.getEndpoint(uri, VertxKafkaEndpoint.class);
-        assertEquals("broker1:12345,broker2:12566", endpoint.getConfiguration().getBootstrapServers());
-        assertEquals("mytopic", endpoint.getConfiguration().getTopic());
-        assertEquals("com.class.Party", endpoint.getConfiguration().getPartitionerClass());
-    }
-
-    @Test
-    void testBrokersOnComponent() {
-        VertxKafkaComponent kafka = context.getComponent("vertx-kafka", VertxKafkaComponent.class);
-        kafka.getConfiguration().setBootstrapServers("broker1:12345,broker2:12566");
-
-        String uri = "vertx-kafka:mytopic?partitionerClass=com.class.Party";
-
-        VertxKafkaEndpoint endpoint = context.getEndpoint(uri, VertxKafkaEndpoint.class);
-        assertEquals("broker1:12345,broker2:12566", endpoint.getConfiguration().getBootstrapServers());
-        assertEquals("broker1:12345,broker2:12566", endpoint.getComponent().getConfiguration().getBootstrapServers());
-        assertEquals("mytopic", endpoint.getConfiguration().getTopic());
-        assertEquals("com.class.Party", endpoint.getConfiguration().getPartitionerClass());
-        assertTrue(endpoint.getComponent().getVertxKafkaClientFactory() instanceof DefaultVertxKafkaClientFactory);
-        assertTrue(endpoint.getComponent().getKafkaManualCommitFactory() instanceof DefaultVertxKafkaManualCommitFactory);
-    }
-
-    @Test
-    public void testCreateAdditionalPropertiesOnEndpointAndComponent() {
-        final VertxKafkaComponent kafkaComponent = context.getComponent("vertx-kafka", VertxKafkaComponent.class);
-
-        // also we set the configs on the component level
-        final VertxKafkaConfiguration kafkaConfiguration = new VertxKafkaConfiguration();
-        final Map<String, Object> params = new HashMap<>();
-
-        params.put("extra.1", 789);
-        params.put("extra.3", "test.extra.3");
-        kafkaConfiguration.setAdditionalProperties(params);
-        kafkaComponent.setConfiguration(kafkaConfiguration);
-
-        final String uri
-                = "vertx-kafka:mytopic?bootstrapServers=broker1:12345,broker2:12566&partitionerClass=com.class.Party&additionalProperties.extra.1=123&additionalProperties.extra.2=test";
-
-        VertxKafkaEndpoint endpoint = context.getEndpoint(uri, VertxKafkaEndpoint.class);
-        assertEquals("broker1:12345,broker2:12566", endpoint.getConfiguration().getBootstrapServers());
-        assertEquals("mytopic", endpoint.getConfiguration().getTopic());
-        assertEquals("com.class.Party", endpoint.getConfiguration().getPartitionerClass());
-        assertEquals("123", endpoint.getConfiguration().getAdditionalProperties().get("extra.1"));
-        assertEquals("test", endpoint.getConfiguration().getAdditionalProperties().get("extra.2"));
-        assertEquals("test.extra.3", endpoint.getConfiguration().getAdditionalProperties().get("extra.3"));
-
-        // test properties on producer keys
-        final Properties producerProperties = endpoint.getConfiguration().createProducerConfiguration();
-        assertEquals("123", producerProperties.getProperty("extra.1"));
-        assertEquals("test", producerProperties.getProperty("extra.2"));
-        assertEquals("test.extra.3", producerProperties.getProperty("extra.3"));
-
-        // test properties on consumer keys
-        final Properties consumerProperties = endpoint.getConfiguration().createConsumerConfiguration();
-        assertEquals("123", consumerProperties.getProperty("extra.1"));
-        assertEquals("test", consumerProperties.getProperty("extra.2"));
-        assertEquals("test.extra.3", producerProperties.getProperty("extra.3"));
-    }
-
-    @Test
-    public void testAllProducerConfigProperty() throws Exception {
-        Map<String, Object> params = new HashMap<>();
-        setProducerProperty(params);
-
-        String uri = "vertx-kafka:mytopic?bootstrapServers=dev1:12345,dev2:12566";
-
-        VertxKafkaEndpoint endpoint = (VertxKafkaEndpoint) context.getComponent("vertx-kafka").createEndpoint(uri, params);
-
-        assertEquals("mytopic", endpoint.getConfiguration().getTopic());
-        assertEquals("1", endpoint.getConfiguration().getAcks());
-        assertEquals(1, endpoint.getConfiguration().getBufferMemory());
-        assertEquals(10, endpoint.getConfiguration().getBatchSize());
-        assertEquals(12, endpoint.getConfiguration().getConnectionsMaxIdleMs());
-        assertEquals(1, endpoint.getConfiguration().getMaxBlockMs());
-        assertEquals("testing", endpoint.getConfiguration().getClientId());
-        assertEquals("none", endpoint.getConfiguration().getCompressionType());
-        assertEquals(1, endpoint.getConfiguration().getLingerMs());
-        assertEquals(100, endpoint.getConfiguration().getMaxRequestSize());
-        assertEquals(100, endpoint.getConfiguration().getRequestTimeoutMs());
-        assertEquals(1029, endpoint.getConfiguration().getMetadataMaxAgeMs());
-        assertEquals(23, endpoint.getConfiguration().getReceiveBufferBytes());
-        assertEquals(234, endpoint.getConfiguration().getReconnectBackoffMs());
-        assertEquals(234, endpoint.getConfiguration().getReconnectBackoffMaxMs());
-        assertEquals(0, endpoint.getConfiguration().getRetries());
-        assertEquals(3782, endpoint.getConfiguration().getRetryBackoffMs());
-        assertEquals(765, endpoint.getConfiguration().getSendBufferBytes());
-        assertEquals(1, endpoint.getConfiguration().getMaxInFlightRequestsPerConnection());
-        assertEquals("org.apache.camel.reporters.TestReport,org.apache.camel.reporters.SampleReport",
-                endpoint.getConfiguration().getMetricReporters());
-        assertEquals(3, endpoint.getConfiguration().getMetricsNumSamples());
-        assertEquals(12344, endpoint.getConfiguration().getMetricsSampleWindowMs());
-        assertEquals("org.apache.kafka.common.serialization.StringSerializer",
-                endpoint.getConfiguration().getValueSerializer());
-        assertEquals("org.apache.kafka.common.serialization.StringSerializer", endpoint.getConfiguration().getKeySerializer());
-        assertEquals("testing", endpoint.getConfiguration().getSslKeyPassword());
-        assertEquals("/abc", endpoint.getConfiguration().getSslKeystoreLocation());
-        assertEquals("testing", endpoint.getConfiguration().getSslKeystorePassword());
-        assertEquals("/abc", endpoint.getConfiguration().getSslTruststoreLocation());
-        assertEquals("testing", endpoint.getConfiguration().getSslTruststorePassword());
-        assertEquals("test", endpoint.getConfiguration().getSaslKerberosServiceName());
-        assertEquals("PLAINTEXT", endpoint.getConfiguration().getSecurityProtocol());
-        assertEquals("TLSv1.2", endpoint.getConfiguration().getSslEnabledProtocols());
-        assertEquals("JKS", endpoint.getConfiguration().getSslKeystoreType());
-        assertEquals("TLS", endpoint.getConfiguration().getSslProtocol());
-        assertEquals("test", endpoint.getConfiguration().getSslProvider());
-        assertEquals("JKS", endpoint.getConfiguration().getSslTruststoreType());
-        assertEquals("/usr/bin/kinit", endpoint.getConfiguration().getSaslKerberosKinitCmd());
-        assertEquals(60000, endpoint.getConfiguration().getSaslKerberosMinTimeBeforeRelogin());
-        assertEquals(0.05, endpoint.getConfiguration().getSaslKerberosTicketRenewJitter());
-        assertEquals(0.8, endpoint.getConfiguration().getSaslKerberosTicketRenewWindowFactor());
-        assertEquals("MAC", endpoint.getConfiguration().getSslCipherSuites());
-        assertEquals("test", endpoint.getConfiguration().getSslEndpointIdentificationAlgorithm());
-        assertEquals("SunX509", endpoint.getConfiguration().getSslKeymanagerAlgorithm());
-        assertEquals("PKIX", endpoint.getConfiguration().getSslTrustmanagerAlgorithm());
-    }
-
-    @Test
-    public void testAllProducerKeys() throws Exception {
-        Map<String, Object> params = new HashMap<>();
-
-        String uri = "vertx-kafka:mytopic?bootstrapServers=dev1:12345,dev2:12566";
-
-        VertxKafkaEndpoint endpoint = (VertxKafkaEndpoint) context.getComponent("vertx-kafka").createEndpoint(uri, params);
-
-        assertTrue(endpoint.getConfiguration().createProducerConfiguration().keySet().containsAll(getProducerKeys().keySet()));
-    }
-
-    private Properties getProducerKeys() {
-        Properties props = new Properties();
-
-        props.put(ProducerConfig.ACKS_CONFIG, "1");
-        props.put(ProducerConfig.BUFFER_MEMORY_CONFIG, "33554432");
-        props.put(ProducerConfig.COMPRESSION_TYPE_CONFIG, "none");
-        props.put(ProducerConfig.RETRIES_CONFIG, "0");
-        props.put(ProducerConfig.BATCH_SIZE_CONFIG, "16384");
-        props.put(ProducerConfig.CONNECTIONS_MAX_IDLE_MS_CONFIG, "540000");
-        props.put(ProducerConfig.LINGER_MS_CONFIG, "0");
-        props.put(ProducerConfig.MAX_BLOCK_MS_CONFIG, "60000");
-        props.put(ProducerConfig.MAX_REQUEST_SIZE_CONFIG, "1048576");
-        props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, new VertxKafkaConfiguration().getPartitionerClass());
-        props.put(ProducerConfig.RECEIVE_BUFFER_CONFIG, "32768");
-        props.put(ProducerConfig.REQUEST_TIMEOUT_MS_CONFIG, "30000");
-        props.put(ProducerConfig.SEND_BUFFER_CONFIG, "131072");
-        props.put(ProducerConfig.MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION, "5");
-        props.put(ProducerConfig.METADATA_MAX_AGE_CONFIG, "300000");
-        props.put(ProducerConfig.METRICS_NUM_SAMPLES_CONFIG, "2");
-        props.put(ProducerConfig.METRICS_SAMPLE_WINDOW_MS_CONFIG, "30000");
-        props.put(ProducerConfig.RECONNECT_BACKOFF_MS_CONFIG, "50");
-        props.put(ProducerConfig.RECONNECT_BACKOFF_MAX_MS_CONFIG, "1000");
-        props.put(ProducerConfig.RETRY_BACKOFF_MS_CONFIG, "100");
-        props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, new VertxKafkaConfiguration().getValueSerializer());
-        props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, new VertxKafkaConfiguration().getValueSerializer());
-        props.put(ProducerConfig.ENABLE_IDEMPOTENCE_CONFIG, "false");
-        props.put(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG, "PLAINTEXT");
-        props.put(SslConfigs.SSL_ENABLED_PROTOCOLS_CONFIG, "TLSv1.2, TLSv1.1, TLSv1");
-        props.put(SslConfigs.SSL_KEYSTORE_TYPE_CONFIG, "JKS");
-        props.put(SslConfigs.SSL_PROTOCOL_CONFIG, "TLS");
-        props.put(SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, "JKS");
-        props.put(SaslConfigs.SASL_KERBEROS_KINIT_CMD, "/usr/bin/kinit");
-        props.put(SaslConfigs.SASL_KERBEROS_MIN_TIME_BEFORE_RELOGIN, "60000");
-        props.put(SaslConfigs.SASL_KERBEROS_TICKET_RENEW_JITTER, "0.05");
-        props.put(SaslConfigs.SASL_KERBEROS_TICKET_RENEW_WINDOW_FACTOR, "0.8");
-        props.put(SaslConfigs.SASL_MECHANISM, "PLAIN");
-        props.put(SslConfigs.SSL_KEYMANAGER_ALGORITHM_CONFIG, "SunX509");
-        props.put(SslConfigs.SSL_TRUSTMANAGER_ALGORITHM_CONFIG, "PKIX");
-        props.put(SslConfigs.SSL_ENDPOINT_IDENTIFICATION_ALGORITHM_CONFIG, "https");
-
-        return props;
-    }
-
-    private void setProducerProperty(Map<String, Object> params) {
-        params.put("acks", "1");
-        params.put("bufferMemory", 1L);
-        params.put("compressionType", "none");
-        params.put("retries", 0);
-        params.put("batchSize", 10);
-        params.put("connectionsMaxIdleMs", 12L);
-        params.put("lingerMs", 1L);
-        params.put("maxBlockMs", 1L);
-        params.put("maxRequestSize", 100);
-        params.put("receiveBufferBytes", 23);
-        params.put("requestTimeoutMs", 100);
-        params.put("sendBufferBytes", 765);
-        params.put("maxInFlightRequestsPerConnection", 1);
-        params.put("metadataMaxAgeMs", 1029L);
-        params.put("reconnectBackoffMs", 234L);
-        params.put("reconnectBackoffMaxMs", 234L);
-        params.put("retryBackoffMs", 3782L);
-        params.put("metricsNumSamples", 3);
-        params.put("metricReporters", "org.apache.camel.reporters.TestReport,org.apache.camel.reporters.SampleReport");
-        params.put("metricsSampleWindowMs", 12344L);
-        params.put("clientId", "testing");
-        params.put("sslKeyPassword", "testing");
-        params.put("sslKeystoreLocation", "/abc");
-        params.put("sslKeystorePassword", "testing");
-        params.put("sslTruststoreLocation", "/abc");
-        params.put("sslTruststorePassword", "testing");
-        params.put("saslKerberosServiceName", "test");
-        params.put("saslMechanism", "PLAIN");
-        params.put("securityProtocol", "PLAINTEXT");
-        params.put("sslEnabledProtocols", "TLSv1.2");
-        params.put("sslKeystoreType", "JKS");
-        params.put("sslProtocol", "TLS");
-        params.put("sslProvider", "test");
-        params.put("sslTruststoreType", "JKS");
-        params.put("saslKerberosKinitCmd", "/usr/bin/kinit");
-        params.put("saslKerberosMinTimeBeforeRelogin", 60000L);
-        params.put("saslKerberosTicketRenewJitter", 0.05);
-        params.put("saslKerberosTicketRenewWindowFactor", 0.8);
-        params.put("sslCipherSuites", "MAC");
-        params.put("sslEndpointIdentificationAlgorithm", "test");
-        params.put("sslKeymanagerAlgorithm", "SunX509");
-        params.put("sslTrustmanagerAlgorithm", "PKIX");
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerBatchSizeTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerBatchSizeTest.java
deleted file mode 100644
index 2a7b3e96667..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerBatchSizeTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Collections;
-import java.util.Properties;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-public class VertxKafkaConsumerBatchSizeTest extends BaseEmbeddedKafkaTest {
-
-    public static final String TOPIC = "test";
-
-    @EndpointInject("vertx-kafka:" + TOPIC + "?autoOffsetReset=earliest&groupId=test-1-batch")
-    private Endpoint from;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint to;
-
-    private org.apache.kafka.clients.producer.KafkaProducer<String, String> producer;
-
-    @BeforeEach
-    public void before() {
-        Properties props = getDefaultProperties();
-        producer = new org.apache.kafka.clients.producer.KafkaProducer<>(props);
-    }
-
-    @AfterEach
-    public void after() {
-        if (producer != null) {
-            producer.close();
-        }
-        // clean all test topics
-        kafkaAdminClient.deleteTopics(Collections.singletonList(TOPIC));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                from(from).routeId("foo").to(to).setId("First");
-            }
-        };
-    }
-
-    @Test
-    public void kafkaMessagesIsConsumedByCamel() throws Exception {
-
-        to.expectedBodiesReceivedInAnyOrder("m1", "m2");
-        for (int k = 1; k <= 2; k++) {
-            String msg = "m" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            producer.send(data);
-        }
-        to.assertIsSatisfied();
-
-        to.reset();
-
-        to.expectedBodiesReceivedInAnyOrder("m3", "m4", "m5", "m6", "m7", "m8", "m9", "m10");
-
-        // Restart endpoint,
-        context.getRouteController().stopRoute("foo");
-        context.getRouteController().startRoute("foo");
-
-        // Second route must wake up and consume all from scratch and commit 9
-        // consumed
-        for (int k = 3; k <= 10; k++) {
-            String msg = "m" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            producer.send(data);
-        }
-
-        to.assertIsSatisfied();
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerFullTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerFullTest.java
deleted file mode 100644
index 686d365946e..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerFullTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.Properties;
-
-import io.vertx.core.buffer.Buffer;
-import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.component.vertx.kafka.serde.VertxKafkaHeaderSerializer;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.apache.kafka.common.header.internals.RecordHeader;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class VertxKafkaConsumerFullTest extends BaseEmbeddedKafkaTest {
-
-    public static final String TOPIC = "test";
-
-    @EndpointInject("vertx-kafka:" + TOPIC
-                    + "?groupId=group1&autoOffsetReset=earliest&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&"
-                    + "valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer"
-                    + "&autoCommitIntervalMs=1000&sessionTimeoutMs=30000")
-    private Endpoint from;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint to;
-
-    private org.apache.kafka.clients.producer.KafkaProducer<String, String> producer;
-
-    @BeforeEach
-    public void before() {
-        Properties props = getDefaultProperties();
-        producer = new org.apache.kafka.clients.producer.KafkaProducer<>(props);
-    }
-
-    @AfterEach
-    public void after() {
-        if (producer != null) {
-            producer.close();
-        }
-        // clean all test topics
-        kafkaAdminClient.deleteTopics(Collections.singletonList(TOPIC));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-
-            @Override
-            public void configure() {
-                from(from).routeId("foo").to(to);
-            }
-        };
-    }
-
-    @Test
-    public void kafkaMessageIsConsumedByCamel() throws InterruptedException {
-        String propagatedHeaderKey = "PropagatedCustomHeader";
-        byte[] propagatedHeaderValue = "propagated header value".getBytes();
-        String skippedHeaderKey = "CamelSkippedHeader";
-        to.expectedMessageCount(5);
-        to.expectedBodiesReceivedInAnyOrder("message-0", "message-1", "message-2", "message-3", "message-4");
-        to.expectedHeaderReceived(propagatedHeaderKey, propagatedHeaderValue);
-
-        for (int k = 0; k < 5; k++) {
-            String msg = "message-" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            data.headers().add(new RecordHeader("CamelSkippedHeader", "skipped header value".getBytes()));
-            data.headers().add(new RecordHeader(propagatedHeaderKey, propagatedHeaderValue));
-            producer.send(data);
-        }
-
-        to.assertIsSatisfied(3000);
-
-        Map<String, Object> headers = to.getExchanges().get(0).getIn().getHeaders();
-        assertFalse(headers.containsKey(skippedHeaderKey), "Should not receive skipped header");
-        assertTrue(headers.containsKey(propagatedHeaderKey), "Should receive propagated header");
-    }
-
-    @Test
-    public void kafkaRecordSpecificHeadersAreNotOverwritten() throws InterruptedException {
-        String propagatedHeaderKey = VertxKafkaConstants.TOPIC;
-        byte[] propagatedHeaderValue = "propagated incorrect topic".getBytes();
-        to.expectedHeaderReceived(VertxKafkaConstants.TOPIC, TOPIC);
-
-        String propagatedStringHeaderKey = "propagatedStringHeaderKey";
-        byte[] propagatedStringHeaderValue = "propagated value".getBytes();
-
-        String propagatedLongHeaderKey = "propagatedLongHeaderKey";
-        byte[] propagatedLongHeaderValue = VertxKafkaHeaderSerializer.serialize(5454545454545L).getBytes();
-
-        ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", "message");
-        data.headers().add(new RecordHeader(propagatedHeaderKey, propagatedHeaderValue));
-        data.headers().add(new RecordHeader(propagatedStringHeaderKey, propagatedStringHeaderValue));
-        data.headers().add(new RecordHeader(propagatedLongHeaderKey, propagatedLongHeaderValue));
-        producer.send(data);
-
-        to.assertIsSatisfied(3000);
-
-        Map<String, Object> headers = to.getExchanges().get(0).getIn().getHeaders();
-        assertTrue(headers.containsKey(VertxKafkaConstants.TOPIC), "Should receive KafkaEndpoint populated kafka.TOPIC header");
-        assertEquals(TOPIC, headers.get(VertxKafkaConstants.TOPIC), "Topic name received");
-        assertEquals("propagated value", ((Buffer) headers.get("propagatedStringHeaderKey")).toString());
-        assertEquals(5454545454545L, ((Buffer) headers.get("propagatedLongHeaderKey")).getLong(0));
-    }
-
-    @Test
-    public void kafkaMessageIsConsumedByCamelSeekedToBeginning() throws Exception {
-        to.expectedMessageCount(5);
-        to.expectedBodiesReceivedInAnyOrder("message-0", "message-1", "message-2", "message-3", "message-4");
-        for (int k = 0; k < 5; k++) {
-            String msg = "message-" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            producer.send(data);
-        }
-        to.assertIsSatisfied(3000);
-
-        to.reset();
-
-        to.expectedMessageCount(5);
-        to.expectedBodiesReceivedInAnyOrder("message-0", "message-1", "message-2", "message-3", "message-4");
-
-        // Restart endpoint,
-        context.getRouteController().stopRoute("foo");
-
-        VertxKafkaEndpoint kafkaEndpoint = (VertxKafkaEndpoint) from;
-        kafkaEndpoint.getConfiguration().setSeekToPosition("beginning");
-
-        context.getRouteController().startRoute("foo");
-
-        // As wee set seek to beginning we should re-consume all messages
-        to.assertIsSatisfied(3000);
-    }
-
-    @Test
-    public void kafkaMessageIsConsumedByCamelSeekedToEnd() throws Exception {
-        to.expectedMessageCount(5);
-        to.expectedBodiesReceivedInAnyOrder("message-0", "message-1", "message-2", "message-3", "message-4");
-        for (int k = 0; k < 5; k++) {
-            String msg = "message-" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            producer.send(data);
-        }
-        to.assertIsSatisfied(3000);
-
-        to.reset();
-
-        to.expectedMessageCount(0);
-
-        // Restart endpoint,
-        context.getRouteController().stopRoute("foo");
-
-        VertxKafkaEndpoint kafkaEndpoint = (VertxKafkaEndpoint) from;
-        kafkaEndpoint.getConfiguration().setSeekToPosition("end");
-
-        context.getRouteController().startRoute("foo");
-
-        // As wee set seek to end we should not re-consume any messages
-        synchronized (this) {
-            Thread.sleep(1000);
-        }
-        to.assertIsSatisfied(3000);
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerManualCommitTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerManualCommitTest.java
deleted file mode 100644
index 9ba8af722dd..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerManualCommitTest.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Collections;
-import java.util.Properties;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.component.vertx.kafka.offset.VertxKafkaManualCommit;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public class VertxKafkaConsumerManualCommitTest extends BaseEmbeddedKafkaTest {
-
-    public static final String TOPIC = "test";
-
-    @EndpointInject("vertx-kafka:" + TOPIC
-                    + "?groupId=group1&sessionTimeoutMs=30000&enableAutoCommit=false&autoOffsetReset=earliest&"
-                    + "allowManualCommit=true")
-    private Endpoint from;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint to;
-
-    private org.apache.kafka.clients.producer.KafkaProducer<String, String> producer;
-
-    @BeforeEach
-    public void before() {
-        Properties props = getDefaultProperties();
-        producer = new org.apache.kafka.clients.producer.KafkaProducer<>(props);
-    }
-
-    @AfterEach
-    public void after() {
-        if (producer != null) {
-            producer.close();
-        }
-        // clean all test topics
-        kafkaAdminClient.deleteTopics(Collections.singletonList(TOPIC));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-
-            @Override
-            public void configure() {
-                from(from).routeId("foo").to(to).process(e -> {
-                    VertxKafkaManualCommit manual
-                            = e.getIn().getHeader(VertxKafkaConstants.MANUAL_COMMIT, VertxKafkaManualCommit.class);
-                    assertNotNull(manual);
-                    manual.commit();
-                });
-            }
-        };
-    }
-
-    @Test
-    public void kafkaManualCommit() throws Exception {
-        // We disable the default autoCommit and we take control on committing the offsets
-        // First step: We send first 5 records to Kafka, we expect our consumer to receive them and commit the offsets after consuming the records
-        // through manual.commit();
-        to.expectedMessageCount(5);
-
-        for (int k = 0; k < 5; k++) {
-            String msg = "message-" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            producer.send(data);
-        }
-
-        to.assertIsSatisfied(3000);
-
-        to.reset();
-
-        // Second step: We shut down our route, we expect nothing will be recovered by our route
-        context.getRouteController().stopRoute("foo");
-        to.expectedMessageCount(0);
-
-        // Third step: While our route is stopped, we send 3 records more to Kafka test topic
-        for (int k = 5; k < 8; k++) {
-            String msg = "message-" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            producer.send(data);
-        }
-
-        to.assertIsSatisfied(3000);
-
-        to.reset();
-
-        // Fourth step: We start again our route, since we have been committing the offsets from the first step,
-        // we will expect to consume from the latest committed offset e.g from offset 5
-        context.getRouteController().startRoute("foo");
-        to.expectedMessageCount(3);
-
-        // give some time for the route to start again
-        synchronized (this) {
-            Thread.sleep(1000);
-        }
-
-        to.assertIsSatisfied(3000);
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerSuspendResumeTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerSuspendResumeTest.java
deleted file mode 100644
index 23cde92e570..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaConsumerSuspendResumeTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.Collections;
-import java.util.Properties;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-public class VertxKafkaConsumerSuspendResumeTest extends BaseEmbeddedKafkaTest {
-
-    public static final String TOPIC = "test";
-
-    @EndpointInject("vertx-kafka:" + TOPIC
-                    + "?groupId=group1&autoOffsetReset=earliest&keyDeserializer=org.apache.kafka.common.serialization.StringDeserializer&"
-                    + "valueDeserializer=org.apache.kafka.common.serialization.StringDeserializer"
-                    + "&autoCommitIntervalMs=1000&sessionTimeoutMs=30000")
-    private Endpoint from;
-
-    @EndpointInject("mock:result")
-    private MockEndpoint to;
-
-    private org.apache.kafka.clients.producer.KafkaProducer<String, String> producer;
-
-    @BeforeEach
-    public void before() {
-        Properties props = getDefaultProperties();
-        producer = new org.apache.kafka.clients.producer.KafkaProducer<>(props);
-    }
-
-    @AfterEach
-    public void after() {
-        if (producer != null) {
-            producer.close();
-        }
-        // clean all test topics
-        kafkaAdminClient.deleteTopics(Collections.singletonList(TOPIC));
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-
-            @Override
-            public void configure() {
-                from(from).routeId("foo").to(to);
-            }
-        };
-    }
-
-    @Test
-    public void kafkaSuspendResume() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(3);
-
-        for (int k = 0; k < 3; k++) {
-            String msg = "message-" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            producer.send(data);
-        }
-
-        MockEndpoint.assertIsSatisfied(context);
-
-        // suspend
-        context.getRouteController().suspendRoute("foo");
-
-        MockEndpoint.resetMocks(context);
-        getMockEndpoint("mock:result").expectedMessageCount(0);
-
-        for (int k = 3; k < 10; k++) {
-            String msg = "message-" + k;
-            ProducerRecord<String, String> data = new ProducerRecord<>(TOPIC, "1", msg);
-            producer.send(data);
-        }
-
-        getMockEndpoint("mock:result").setResultMinimumWaitTime(1000);
-        MockEndpoint.assertIsSatisfied(context, 5, TimeUnit.SECONDS);
-
-        MockEndpoint.resetMocks(context);
-        getMockEndpoint("mock:result").expectedMessageCount(7);
-
-        // resume
-        context.getRouteController().resumeRoute("foo");
-
-        MockEndpoint.assertIsSatisfied(context);
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeadersPropagationTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeadersPropagationTest.java
deleted file mode 100644
index dd55513793e..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaHeadersPropagationTest.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.nio.ByteBuffer;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-import io.vertx.core.buffer.Buffer;
-import io.vertx.kafka.client.producer.KafkaHeader;
-import org.apache.camel.Message;
-import org.apache.camel.component.vertx.kafka.serde.VertxKafkaHeaderSerializer;
-import org.apache.camel.support.DefaultExchange;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class VertxKafkaHeadersPropagationTest extends CamelTestSupport {
-
-    @Test
-    void testGetPropagatedHeadersFromCamelMessage() {
-        String propagatedStringHeaderKey = "PROPAGATED_STRING_HEADER";
-        String propagatedStringHeaderValue = "propagated string header value";
-
-        String propagatedIntegerHeaderKey = "PROPAGATED_INTEGER_HEADER";
-        Integer propagatedIntegerHeaderValue = 54545;
-
-        String propagatedLongHeaderKey = "PROPAGATED_LONG_HEADER";
-        Long propagatedLongHeaderValue = 5454545454545L;
-
-        String propagatedDoubleHeaderKey = "PROPAGATED_DOUBLE_HEADER";
-        Double propagatedDoubleHeaderValue = 43434.545D;
-
-        String propagatedBytesHeaderKey = "PROPAGATED_BYTES_HEADER";
-        byte[] propagatedBytesHeaderValue = new byte[] { 121, 34, 34, 54, 5, 3, 54, -34 };
-
-        String propagatedBooleanHeaderKey = "PROPAGATED_BOOLEAN_HEADER";
-
-        Map<String, Object> camelHeaders = new HashMap<>();
-
-        camelHeaders.put(propagatedStringHeaderKey, propagatedStringHeaderValue);
-        camelHeaders.put(propagatedIntegerHeaderKey, propagatedIntegerHeaderValue);
-        camelHeaders.put(propagatedLongHeaderKey, propagatedLongHeaderValue);
-        camelHeaders.put(propagatedDoubleHeaderKey, propagatedDoubleHeaderValue);
-        camelHeaders.put(propagatedBytesHeaderKey, propagatedBytesHeaderValue);
-        camelHeaders.put(propagatedBooleanHeaderKey, true);
-
-        camelHeaders.put("CustomObjectHeader", new Object());
-        camelHeaders.put("CustomNullObjectHeader", null);
-        camelHeaders.put("CamelFilteredHeader", "CamelFilteredHeader value");
-
-        final Message message = new DefaultExchange(context).getMessage();
-
-        message.setBody("test body");
-        message.setHeaders(camelHeaders);
-
-        final List<KafkaHeader> kafkaHeaders
-                = new VertxKafkaHeadersPropagation(new VertxKafkaHeaderFilterStrategy()).getPropagatedHeaders(message);
-
-        assertNotNull(kafkaHeaders, "Kafka Headers should not be null.");
-        // we have 6 headers
-        assertEquals(6, kafkaHeaders.size(), "6 propagated header is expected.");
-
-        final Map<String, KafkaHeader> headers = convertToMap(kafkaHeaders);
-
-        assertEquals(propagatedStringHeaderValue, new String(getHeaderValue(propagatedStringHeaderKey, headers)),
-                "Propagated string value received");
-        assertEquals(propagatedIntegerHeaderValue,
-                Integer.valueOf(ByteBuffer.wrap(getHeaderValue(propagatedIntegerHeaderKey, headers)).getInt()),
-                "Propagated integer value received");
-        assertEquals(propagatedLongHeaderValue,
-                Long.valueOf(ByteBuffer.wrap(getHeaderValue(propagatedLongHeaderKey, headers)).getLong()),
-                "Propagated long value received");
-        assertEquals(propagatedDoubleHeaderValue,
-                Double.valueOf(ByteBuffer.wrap(getHeaderValue(propagatedDoubleHeaderKey, headers)).getDouble()),
-                "Propagated double value received");
-        assertArrayEquals(propagatedBytesHeaderValue, getHeaderValue(propagatedBytesHeaderKey, headers),
-                "Propagated byte array value received");
-        assertEquals(true,
-                Boolean.valueOf(new String(getHeaderValue(propagatedBooleanHeaderKey, headers))),
-                "Propagated boolean value received");
-    }
-
-    @Test
-    void testGetPropagatedHeadersFromKafkaHeaders() {
-        String propagatedHeaderKey = VertxKafkaConstants.TOPIC;
-        byte[] propagatedHeaderValue = "propagated incorrect topic".getBytes();
-
-        String propagatedStringHeaderKey = "PROPAGATED_STRING_HEADER";
-        String propagatedStringHeaderValue = "propagated string header value";
-
-        String propagatedIntegerHeaderKey = "PROPAGATED_INTEGER_HEADER";
-        Integer propagatedIntegerHeaderValue = 54545;
-
-        String propagatedLongHeaderKey = "PROPAGATED_LONG_HEADER";
-        Long propagatedLongHeaderValue = 5454545454545L;
-
-        final List<KafkaHeader> kafkaHeaders = new LinkedList<>();
-        kafkaHeaders.add(convertToKafkaHeader(propagatedHeaderKey, propagatedHeaderValue));
-        kafkaHeaders.add(convertToKafkaHeader(propagatedStringHeaderKey, propagatedStringHeaderValue));
-        kafkaHeaders.add(convertToKafkaHeader(propagatedIntegerHeaderKey, propagatedIntegerHeaderValue));
-        kafkaHeaders.add(convertToKafkaHeader(propagatedLongHeaderKey, propagatedLongHeaderValue));
-
-        final Map<String, Buffer> propagatedHeaders
-                = new VertxKafkaHeadersPropagation(new VertxKafkaHeaderFilterStrategy()).getPropagatedHeaders(kafkaHeaders,
-                        new DefaultExchange(context).getMessage());
-
-        // 3 since one is skipped due to the camel prefix
-        assertEquals(3, propagatedHeaders.size());
-        assertEquals("propagated string header value", propagatedHeaders.get("PROPAGATED_STRING_HEADER").toString());
-        assertEquals(54545, propagatedHeaders.get("PROPAGATED_INTEGER_HEADER").getInt(0));
-        assertEquals(5454545454545L, propagatedHeaders.get("PROPAGATED_LONG_HEADER").getLong(0));
-    }
-
-    private Map<String, KafkaHeader> convertToMap(final List<KafkaHeader> headersAsList) {
-        return headersAsList
-                .stream()
-                .collect(Collectors.toMap(KafkaHeader::key, header -> header));
-    }
-
-    @Test
-    void testGetPropagatedHeadersFromKafkaHeadersWithCustomStrategy() {
-        String propagatedHeaderKey = VertxKafkaConstants.TOPIC;
-        byte[] propagatedHeaderValue = "propagated incorrect topic".getBytes();
-
-        String propagatedStringHeaderKey = "TEST_PROPAGATED_STRING_HEADER";
-        String propagatedStringHeaderValue = "propagated string header value";
-
-        String propagatedIntegerHeaderKey = "TEST_PROPAGATED_INTEGER_HEADER";
-        Integer propagatedIntegerHeaderValue = 54545;
-
-        String propagatedLongHeaderKey = "PROPAGATED_LONG_HEADER";
-        Long propagatedLongHeaderValue = 5454545454545L;
-
-        final List<KafkaHeader> kafkaHeaders = new LinkedList<>();
-        kafkaHeaders.add(convertToKafkaHeader(propagatedHeaderKey, propagatedHeaderValue));
-        kafkaHeaders.add(convertToKafkaHeader(propagatedStringHeaderKey, propagatedStringHeaderValue));
-        kafkaHeaders.add(convertToKafkaHeader(propagatedIntegerHeaderKey, propagatedIntegerHeaderValue));
-        kafkaHeaders.add(convertToKafkaHeader(propagatedLongHeaderKey, propagatedLongHeaderValue));
-
-        final Map<String, Buffer> propagatedHeaders
-                = new VertxKafkaHeadersPropagation(new VertxKafkaTestHeaderFilterStrategy()).getPropagatedHeaders(kafkaHeaders,
-                        new DefaultExchange(context).getMessage());
-
-        assertEquals(2, propagatedHeaders.size());
-        assertTrue(propagatedHeaders.containsKey(VertxKafkaConstants.TOPIC));
-        assertTrue(propagatedHeaders.containsKey("PROPAGATED_LONG_HEADER"));
-    }
-
-    private byte[] getHeaderValue(String headerKey, Map<String, KafkaHeader> headers) {
-        return headers.get(headerKey).value().getBytes();
-    }
-
-    public KafkaHeader convertToKafkaHeader(final String key, final Object value) {
-        return KafkaHeader.header(key, VertxKafkaHeaderSerializer.serialize(value));
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaProducerFullTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaProducerFullTest.java
deleted file mode 100644
index 7adcfc51b40..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaProducerFullTest.java
+++ /dev/null
@@ -1,483 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.nio.ByteBuffer;
-import java.time.Duration;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-import io.vertx.kafka.client.producer.RecordMetadata;
-import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.Produce;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.ConsumerRecords;
-import org.apache.kafka.clients.consumer.KafkaConsumer;
-import org.apache.kafka.common.header.Headers;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertArrayEquals;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class VertxKafkaProducerFullTest extends BaseEmbeddedKafkaTest {
-
-    private static final String TOPIC_STRINGS = "test";
-    private static final String TOPIC_INTERCEPTED = "test";
-    private static final String TOPIC_STRINGS_IN_HEADER = "testHeader";
-    private static final String TOPIC_BYTES = "testBytes";
-    private static final String TOPIC_BYTES_IN_HEADER = "testBytesHeader";
-    private static final String GROUP_BYTES = "groupStrings";
-    private static final String TOPIC_PROPAGATED_HEADERS = "testPropagatedHeaders";
-    private static final String TOPIC_NO_RECORD_SPECIFIC_HEADERS = "noRecordSpecificHeaders";
-
-    private static KafkaConsumer<String, String> stringsConsumerConn;
-    private static KafkaConsumer<byte[], byte[]> bytesConsumerConn;
-
-    @EndpointInject("vertx-kafka:" + TOPIC_STRINGS + "?acks=-1")
-    private Endpoint toStrings;
-
-    @EndpointInject("vertx-kafka:" + TOPIC_STRINGS + "?acks=-1&partitionId=0")
-    private Endpoint toStrings2;
-
-    @EndpointInject("mock:kafkaAck")
-    private MockEndpoint mockEndpoint;
-
-    @EndpointInject("vertx-kafka:" + TOPIC_BYTES + "?acks=-1"
-                    + "&valueSerializer=org.apache.kafka.common.serialization.ByteArraySerializer&"
-                    + "keySerializer=org.apache.kafka.common.serialization.ByteArraySerializer")
-    private Endpoint toBytes;
-
-    @EndpointInject("vertx-kafka:" + TOPIC_PROPAGATED_HEADERS + "?acks=-1")
-    private Endpoint toPropagatedHeaders;
-
-    @EndpointInject("vertx-kafka:" + TOPIC_NO_RECORD_SPECIFIC_HEADERS + "?acks=-1")
-    private Endpoint toNoRecordSpecificHeaders;
-
-    @Produce("direct:startStrings")
-    private ProducerTemplate stringsTemplate;
-
-    @Produce("direct:startStrings2")
-    private ProducerTemplate stringsTemplate2;
-
-    @Produce("direct:startBytes")
-    private ProducerTemplate bytesTemplate;
-
-    @Produce("direct:startTraced")
-    private ProducerTemplate interceptedTemplate;
-
-    @Produce("direct:propagatedHeaders")
-    private ProducerTemplate propagatedHeadersTemplate;
-
-    @Produce("direct:noRecordSpecificHeaders")
-    private ProducerTemplate noRecordSpecificHeadersTemplate;
-
-    @BeforeAll
-    public static void before() {
-        stringsConsumerConn = createStringKafkaConsumer("DemoConsumer");
-        bytesConsumerConn = createByteKafkaConsumer(GROUP_BYTES);
-    }
-
-    @AfterAll
-    public static void after() {
-        // clean all test topics
-        final List<String> topics = new ArrayList<>();
-        topics.add(TOPIC_BYTES);
-        topics.add(TOPIC_INTERCEPTED);
-        topics.add(TOPIC_PROPAGATED_HEADERS);
-        topics.add(TOPIC_STRINGS);
-        topics.add(TOPIC_NO_RECORD_SPECIFIC_HEADERS);
-
-        kafkaAdminClient.deleteTopics(topics);
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                from("direct:startStrings").to(toStrings).to(mockEndpoint);
-
-                from("direct:startStrings2").to(toStrings2).to(mockEndpoint);
-
-                from("direct:startBytes").to(toBytes).to(mockEndpoint);
-
-                from("direct:propagatedHeaders").to(toPropagatedHeaders).to(mockEndpoint);
-
-                from("direct:noRecordSpecificHeaders").to(toNoRecordSpecificHeaders).to(mockEndpoint);
-            }
-        };
-    }
-
-    @Test
-    public void producedStringMessageIsReceivedByKafka() throws InterruptedException {
-        int messageInTopic = 10;
-        int messageInOtherTopic = 5;
-
-        CountDownLatch messagesLatch = new CountDownLatch(messageInTopic + messageInOtherTopic);
-
-        sendMessagesInRoute(messageInTopic, stringsTemplate, "IT test message", VertxKafkaConstants.PARTITION_ID, "0");
-        sendMessagesInRoute(messageInOtherTopic, stringsTemplate, "IT test message in other topic",
-                VertxKafkaConstants.PARTITION_ID, "0", VertxKafkaConstants.TOPIC,
-                TOPIC_STRINGS_IN_HEADER);
-
-        createKafkaMessageConsumer(stringsConsumerConn, TOPIC_STRINGS, TOPIC_STRINGS_IN_HEADER, messagesLatch);
-
-        boolean allMessagesReceived = messagesLatch.await(200, TimeUnit.MILLISECONDS);
-
-        assertTrue(allMessagesReceived,
-                "Not all messages were published to the kafka topics. Not received: " + messagesLatch.getCount());
-
-        List<Exchange> exchangeList = mockEndpoint.getExchanges();
-        assertEquals(15, exchangeList.size(), "Fifteen Exchanges are expected");
-        for (Exchange exchange : exchangeList) {
-            List<RecordMetadata> recordMetaData1
-                    = getRecordMetadata(exchange);
-            assertEquals(1, recordMetaData1.size(), "One RecordMetadata is expected.");
-            assertTrue(recordMetaData1.get(0).getOffset() >= 0, "Offset is positive");
-            assertTrue(recordMetaData1.get(0).getTopic().startsWith("test"), "Topic Name start with 'test'");
-        }
-    }
-
-    @Test
-    public void producedString2MessageIsReceivedByKafka() throws InterruptedException {
-        int messageInTopic = 10;
-        int messageInOtherTopic = 5;
-
-        CountDownLatch messagesLatch = new CountDownLatch(messageInTopic + messageInOtherTopic);
-
-        sendMessagesInRoute(messageInTopic, stringsTemplate2, "IT test message", (String[]) null);
-        sendMessagesInRoute(messageInOtherTopic, stringsTemplate2, "IT test message in other topic",
-                VertxKafkaConstants.PARTITION_ID, "0", VertxKafkaConstants.TOPIC,
-                TOPIC_STRINGS_IN_HEADER);
-
-        createKafkaMessageConsumer(stringsConsumerConn, TOPIC_STRINGS, TOPIC_STRINGS_IN_HEADER, messagesLatch);
-
-        boolean allMessagesReceived = messagesLatch.await(200, TimeUnit.MILLISECONDS);
-
-        assertTrue(allMessagesReceived,
-                "Not all messages were published to the kafka topics. Not received: " + messagesLatch.getCount());
-
-        List<Exchange> exchangeList = mockEndpoint.getExchanges();
-        assertEquals(15, exchangeList.size(), "Fifteen Exchanges are expected");
-        for (Exchange exchange : exchangeList) {
-            List<RecordMetadata> recordMetaData1
-                    = getRecordMetadata(exchange);
-            assertEquals(1, recordMetaData1.size(), "One RecordMetadata is expected.");
-            assertTrue(recordMetaData1.get(0).getOffset() >= 0, "Offset is positive");
-            assertTrue(recordMetaData1.get(0).getTopic().startsWith("test"), "Topic Name start with 'test'");
-        }
-    }
-
-    @Test
-    public void producedStringCollectionMessageIsReceivedByKafka() throws InterruptedException {
-        int messageInTopic = 10;
-        int messageInOtherTopic = 5;
-
-        CountDownLatch messagesLatch = new CountDownLatch(messageInTopic + messageInOtherTopic);
-
-        List<String> msgs = new ArrayList<>();
-        for (int x = 0; x < messageInTopic; x++) {
-            msgs.add("Message " + x);
-        }
-
-        sendMessagesInRoute(1, stringsTemplate, msgs, VertxKafkaConstants.PARTITION_ID, "0");
-        msgs = new ArrayList<>();
-        for (int x = 0; x < messageInOtherTopic; x++) {
-            msgs.add("Other Message " + x);
-        }
-        sendMessagesInRoute(1, stringsTemplate, msgs, VertxKafkaConstants.PARTITION_ID, "0", VertxKafkaConstants.TOPIC,
-                TOPIC_STRINGS_IN_HEADER);
-
-        createKafkaMessageConsumer(stringsConsumerConn, TOPIC_STRINGS, TOPIC_STRINGS_IN_HEADER, messagesLatch);
-
-        boolean allMessagesReceived = messagesLatch.await(200, TimeUnit.MILLISECONDS);
-
-        assertTrue(allMessagesReceived,
-                "Not all messages were published to the kafka topics. Not received: " + messagesLatch.getCount());
-        List<Exchange> exchangeList = mockEndpoint.getExchanges();
-        assertEquals(2, exchangeList.size(), "Two Exchanges are expected");
-        Exchange e1 = exchangeList.get(0);
-        List<RecordMetadata> recordMetaData1 = getRecordMetadata(e1);
-        assertEquals(10, recordMetaData1.size(), "Ten RecordMetadata is expected.");
-        for (RecordMetadata recordMeta : recordMetaData1) {
-            assertTrue(recordMeta.getOffset() >= 0, "Offset is positive");
-            assertTrue(recordMeta.getTopic().startsWith("test"), "Topic Name start with 'test'");
-        }
-        Exchange e2 = exchangeList.get(1);
-        List<RecordMetadata> recordMetaData2 = getRecordMetadata(e2);
-        assertEquals(5, recordMetaData2.size(), "Five RecordMetadata is expected.");
-        for (RecordMetadata recordMeta : recordMetaData2) {
-            assertTrue(recordMeta.getOffset() >= 0, "Offset is positive");
-            assertTrue(recordMeta.getTopic().startsWith("test"), "Topic Name start with 'test'");
-        }
-    }
-
-    @Test
-    public void producedBytesMessageIsReceivedByKafka() throws InterruptedException {
-        int messageInTopic = 10;
-        int messageInOtherTopic = 5;
-
-        CountDownLatch messagesLatch = new CountDownLatch(messageInTopic + messageInOtherTopic);
-
-        Map<String, Object> inTopicHeaders = new HashMap<>();
-        inTopicHeaders.put(VertxKafkaConstants.PARTITION_ID, "0".getBytes());
-        sendMessagesInRoute(messageInTopic, bytesTemplate, "IT test message".getBytes(), inTopicHeaders);
-
-        Map<String, Object> otherTopicHeaders = new HashMap<>();
-        otherTopicHeaders.put(VertxKafkaConstants.PARTITION_ID, "0".getBytes());
-        otherTopicHeaders.put(VertxKafkaConstants.TOPIC, TOPIC_BYTES_IN_HEADER);
-        sendMessagesInRoute(messageInOtherTopic, bytesTemplate, "IT test message in other topic".getBytes(), otherTopicHeaders);
-
-        createKafkaBytesMessageConsumer(bytesConsumerConn, TOPIC_BYTES, TOPIC_BYTES_IN_HEADER, messagesLatch);
-
-        boolean allMessagesReceived = messagesLatch.await(200, TimeUnit.MILLISECONDS);
-
-        assertTrue(allMessagesReceived,
-                "Not all messages were published to the kafka topics. Not received: " + messagesLatch.getCount());
-
-        List<Exchange> exchangeList = mockEndpoint.getExchanges();
-        assertEquals(15, exchangeList.size(), "Fifteen Exchanges are expected");
-        for (Exchange exchange : exchangeList) {
-            List<RecordMetadata> recordMetaData1
-                    = getRecordMetadata(exchange);
-            assertEquals(1, recordMetaData1.size(), "One RecordMetadata is expected.");
-            assertTrue(recordMetaData1.get(0).getOffset() >= 0, "Offset is positive");
-            assertTrue(recordMetaData1.get(0).getTopic().startsWith("test"), "Topic Name start with 'test'");
-        }
-    }
-
-    @Test
-    public void propagatedHeaderIsReceivedByKafka() throws Exception {
-        String propagatedStringHeaderKey = "PROPAGATED_STRING_HEADER";
-        String propagatedStringHeaderValue = "propagated string header value";
-
-        String propagatedIntegerHeaderKey = "PROPAGATED_INTEGER_HEADER";
-        Integer propagatedIntegerHeaderValue = 54545;
-
-        String propagatedLongHeaderKey = "PROPAGATED_LONG_HEADER";
-        Long propagatedLongHeaderValue = 5454545454545L;
-
-        String propagatedDoubleHeaderKey = "PROPAGATED_DOUBLE_HEADER";
-        Double propagatedDoubleHeaderValue = 43434.545D;
-
-        String propagatedBytesHeaderKey = "PROPAGATED_BYTES_HEADER";
-        byte[] propagatedBytesHeaderValue = new byte[] { 121, 34, 34, 54, 5, 3, 54, -34 };
-
-        String propagatedBooleanHeaderKey = "PROPAGATED_BOOLEAN_HEADER";
-        Boolean propagatedBooleanHeaderValue = Boolean.TRUE;
-
-        Map<String, Object> camelHeaders = new HashMap<>();
-        camelHeaders.put(propagatedStringHeaderKey, propagatedStringHeaderValue);
-        camelHeaders.put(propagatedIntegerHeaderKey, propagatedIntegerHeaderValue);
-        camelHeaders.put(propagatedLongHeaderKey, propagatedLongHeaderValue);
-        camelHeaders.put(propagatedDoubleHeaderKey, propagatedDoubleHeaderValue);
-        camelHeaders.put(propagatedBytesHeaderKey, propagatedBytesHeaderValue);
-        camelHeaders.put(propagatedBooleanHeaderKey, propagatedBooleanHeaderValue);
-
-        camelHeaders.put("CustomObjectHeader", new Object());
-        camelHeaders.put("CustomNullObjectHeader", null);
-        camelHeaders.put("CamelFilteredHeader", "CamelFilteredHeader value");
-
-        CountDownLatch messagesLatch = new CountDownLatch(1);
-        propagatedHeadersTemplate.sendBodyAndHeaders("Some test message", camelHeaders);
-
-        List<ConsumerRecord<String, String>> records = pollForRecords(createStringKafkaConsumer("propagatedHeaderConsumer"),
-                TOPIC_PROPAGATED_HEADERS, messagesLatch);
-        boolean allMessagesReceived = messagesLatch.await(10_000, TimeUnit.MILLISECONDS);
-
-        assertTrue(allMessagesReceived,
-                "Not all messages were published to the kafka topics. Not received: " + messagesLatch.getCount());
-
-        ConsumerRecord<String, String> record = records.get(0);
-        Headers headers = record.headers();
-        assertNotNull(headers, "Kafka Headers should not be null.");
-        // we have 6 headers
-        assertEquals(6, headers.toArray().length, "6 propagated header is expected.");
-        assertEquals(propagatedStringHeaderValue, new String(getHeaderValue(propagatedStringHeaderKey, headers)),
-                "Propagated string value received");
-        assertEquals(propagatedIntegerHeaderValue,
-                Integer.valueOf(ByteBuffer.wrap(getHeaderValue(propagatedIntegerHeaderKey, headers)).getInt()),
-                "Propagated integer value received");
-        assertEquals(propagatedLongHeaderValue,
-                Long.valueOf(ByteBuffer.wrap(getHeaderValue(propagatedLongHeaderKey, headers)).getLong()),
-                "Propagated long value received");
-        assertEquals(propagatedDoubleHeaderValue,
-                Double.valueOf(ByteBuffer.wrap(getHeaderValue(propagatedDoubleHeaderKey, headers)).getDouble()),
-                "Propagated double value received");
-        assertArrayEquals(propagatedBytesHeaderValue, getHeaderValue(propagatedBytesHeaderKey, headers),
-                "Propagated byte array value received");
-        assertEquals(propagatedBooleanHeaderValue,
-                Boolean.valueOf(new String(getHeaderValue(propagatedBooleanHeaderKey, headers))),
-                "Propagated boolean value received");
-    }
-
-    @Test
-    public void recordSpecificHeaderIsNotReceivedByKafka() throws Exception {
-        String propagatedStringHeaderKey = VertxKafkaConstants.TIMESTAMP;
-        String propagatedStringHeaderValue = "dummy timestamp";
-
-        Map<String, Object> camelHeaders = new HashMap<>();
-        camelHeaders.put(propagatedStringHeaderKey, propagatedStringHeaderValue);
-
-        CountDownLatch messagesLatch = new CountDownLatch(1);
-        noRecordSpecificHeadersTemplate.sendBodyAndHeaders("Some test message", camelHeaders);
-
-        List<ConsumerRecord<String, String>> records = pollForRecords(
-                createStringKafkaConsumer("noRecordSpecificHeadersConsumer"), TOPIC_NO_RECORD_SPECIFIC_HEADERS, messagesLatch);
-        boolean allMessagesReceived = messagesLatch.await(10_000, TimeUnit.MILLISECONDS);
-
-        assertTrue(allMessagesReceived,
-                "Not all messages were published to the kafka topics. Not received: " + messagesLatch.getCount());
-
-        ConsumerRecord<String, String> record = records.get(0);
-        Headers headers = record.headers();
-        assertNotNull(headers, "Kafka Headers should not be null.");
-        // we have 0 headers
-        assertEquals(0, headers.toArray().length, "0 propagated headers are expected");
-    }
-
-    private byte[] getHeaderValue(String headerKey, Headers headers) {
-        return VertxKafkaTestUtils.getHeaderValue(headerKey, headers);
-    }
-
-    @SuppressWarnings("unchecked")
-    private List<RecordMetadata> getRecordMetadata(final Exchange exchange) {
-        return (List<RecordMetadata>) (exchange.getIn().getHeader(VertxKafkaConstants.RECORD_METADATA));
-    }
-
-    private static KafkaConsumer<String, String> createStringKafkaConsumer(final String groupId) {
-        Properties stringsProps = new Properties();
-
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,
-                service.getBootstrapServers());
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.GROUP_ID_CONFIG, groupId);
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "true");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "30000");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
-                "org.apache.kafka.common.serialization.StringDeserializer");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
-                "org.apache.kafka.common.serialization.StringDeserializer");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
-
-        return new KafkaConsumer<>(stringsProps);
-    }
-
-    private static KafkaConsumer<byte[], byte[]> createByteKafkaConsumer(final String groupId) {
-        Properties stringsProps = new Properties();
-
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,
-                service.getBootstrapServers());
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.GROUP_ID_CONFIG, groupId);
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "true");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, "30000");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
-                "org.apache.kafka.common.serialization.ByteArrayDeserializer");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
-                "org.apache.kafka.common.serialization.ByteArrayDeserializer");
-        stringsProps.put(org.apache.kafka.clients.consumer.ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
-
-        return new KafkaConsumer<>(stringsProps);
-    }
-
-    private List<ConsumerRecord<String, String>> pollForRecords(
-            KafkaConsumer<String, String> consumerConn, String topic, CountDownLatch messagesLatch) {
-
-        List<ConsumerRecord<String, String>> consumedRecords = new ArrayList<>();
-        consumerConn.subscribe(Collections.singletonList(topic));
-
-        new Thread(() -> {
-            while (messagesLatch.getCount() != 0) {
-                for (ConsumerRecord<String, String> record : consumerConn.poll(Duration.ofMillis(100))) {
-                    consumedRecords.add(record);
-                    messagesLatch.countDown();
-                }
-            }
-        }).start();
-
-        return consumedRecords;
-    }
-
-    private void createKafkaMessageConsumer(
-            KafkaConsumer<String, String> consumerConn, String topic, String topicInHeader, CountDownLatch messagesLatch) {
-
-        consumerConn.subscribe(Arrays.asList(topic, topicInHeader));
-        boolean run = true;
-
-        while (run) {
-            ConsumerRecords<String, String> records = consumerConn.poll(Duration.ofMillis(100));
-            for (int i = 0; i < records.count(); i++) {
-                messagesLatch.countDown();
-                if (messagesLatch.getCount() == 0) {
-                    run = false;
-                }
-            }
-        }
-
-    }
-
-    private void createKafkaBytesMessageConsumer(
-            KafkaConsumer<byte[], byte[]> consumerConn, String topic, String topicInHeader, CountDownLatch messagesLatch) {
-
-        consumerConn.subscribe(Arrays.asList(topic, topicInHeader));
-        boolean run = true;
-
-        while (run) {
-            ConsumerRecords<byte[], byte[]> records = consumerConn.poll(Duration.ofMillis(100));
-            for (int i = 0; i < records.count(); i++) {
-                messagesLatch.countDown();
-                if (messagesLatch.getCount() == 0) {
-                    run = false;
-                }
-            }
-        }
-
-    }
-
-    private void sendMessagesInRoute(int messages, ProducerTemplate template, Object bodyOther, String... headersWithValue) {
-        Map<String, Object> headerMap = new HashMap<>();
-        if (headersWithValue != null) {
-            for (int i = 0; i < headersWithValue.length; i = i + 2) {
-                headerMap.put(headersWithValue[i], headersWithValue[i + 1]);
-            }
-        }
-        sendMessagesInRoute(messages, template, bodyOther, headerMap);
-    }
-
-    private void sendMessagesInRoute(int messages, ProducerTemplate template, Object bodyOther, Map<String, Object> headerMap) {
-        for (int k = 0; k < messages; k++) {
-            template.sendBodyAndHeaders(bodyOther, headerMap);
-        }
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaSendDynamicAwareTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaSendDynamicAwareTest.java
deleted file mode 100644
index 11ea5812b3e..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaSendDynamicAwareTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.spi.SendDynamicAware;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class VertxKafkaSendDynamicAwareTest extends CamelTestSupport {
-
-    VertxKafkaSendDynamicAware vertxKafkaSendDynamicAware;
-
-    @BeforeEach
-    public void setUp() throws Exception {
-        super.setUp();
-        this.vertxKafkaSendDynamicAware = new VertxKafkaSendDynamicAware();
-    }
-
-    @Test
-    public void testUriParsing() throws Exception {
-        this.vertxKafkaSendDynamicAware.setScheme("vertx-kafka");
-        Exchange exchange = createExchangeWithBody("The Body");
-        SendDynamicAware.DynamicAwareEntry entry
-                = new SendDynamicAware.DynamicAwareEntry("vertx-kafka:destination", "vertx-kafka:${header.test}", null, null);
-        Processor processor = this.vertxKafkaSendDynamicAware.createPreProcessor(createExchangeWithBody("Body"), entry);
-        processor.process(exchange);
-        assertEquals("destination", exchange.getMessage().getHeader(VertxKafkaConstants.OVERRIDE_TOPIC));
-    }
-
-    @Test
-    public void testSlashedUriParsing() throws Exception {
-        this.vertxKafkaSendDynamicAware.setScheme("vertx-kafka");
-        Exchange exchange = createExchangeWithBody("The Body");
-        SendDynamicAware.DynamicAwareEntry entry = new SendDynamicAware.DynamicAwareEntry(
-                "vertx-kafka://destination", "vertx-kafka://${header.test}", null, null);
-        Processor processor = this.vertxKafkaSendDynamicAware.createPreProcessor(createExchangeWithBody("Body"), entry);
-        processor.process(exchange);
-        assertEquals("destination", exchange.getMessage().getHeader(VertxKafkaConstants.OVERRIDE_TOPIC));
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaTestHeaderFilterStrategy.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaTestHeaderFilterStrategy.java
deleted file mode 100644
index 3eb4a2586a4..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaTestHeaderFilterStrategy.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.regex.Pattern;
-
-import org.apache.camel.support.DefaultHeaderFilterStrategy;
-
-public class VertxKafkaTestHeaderFilterStrategy extends DefaultHeaderFilterStrategy {
-
-    public static final Pattern CAMEL_KAFKA_FILTER_PATTERN
-            = Pattern.compile("(?i)(TEST|test|Test\\.)[\\.|a-z|A-z|0-9]*");
-
-    public VertxKafkaTestHeaderFilterStrategy() {
-        initialize();
-    }
-
-    protected void initialize() {
-        // filter out kafka record metadata
-        getInFilter().add("org.apache.kafka.clients.producer.RecordMetadata");
-
-        setOutFilterPattern(CAMEL_KAFKA_FILTER_PATTERN);
-        setInFilterPattern(CAMEL_KAFKA_FILTER_PATTERN);
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaTestUtils.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaTestUtils.java
deleted file mode 100644
index bf2ccb627bb..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaTestUtils.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import java.util.stream.StreamSupport;
-
-import org.apache.kafka.common.header.Header;
-import org.apache.kafka.common.header.Headers;
-
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public final class VertxKafkaTestUtils {
-
-    private VertxKafkaTestUtils() {
-    }
-
-    public static byte[] getHeaderValue(String headerKey, Headers headers) {
-        Header foundHeader = StreamSupport.stream(headers.spliterator(), false).filter(header -> header.key().equals(headerKey))
-                .findFirst().orElse(null);
-        assertNotNull(foundHeader, "Header should be sent");
-        return foundHeader.value();
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaToDTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaToDTest.java
deleted file mode 100644
index 1ecb464b8fb..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/VertxKafkaToDTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class VertxKafkaToDTest extends BaseEmbeddedKafkaTest {
-
-    @Test
-    public void testToD() {
-        template.sendBodyAndHeader("direct:start", "Hello bar", "where", "bar");
-        template.sendBodyAndHeader("direct:start", "Hello beer", "where", "beer");
-
-        // there should only be one vertx-kafka endpoint
-        long count = context.getEndpoints().stream().filter(e -> e.getEndpointUri().startsWith("vertx-kafka:")).count();
-        assertEquals(1, count, "There should only be 1 vertx-kafka endpoint");
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                // route message dynamic using toD
-                from("direct:start").toD("vertx-kafka:${header.where}");
-            }
-        };
-    }
-
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaConsumerOperationsTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaConsumerOperationsTest.java
deleted file mode 100644
index 874e9861896..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaConsumerOperationsTest.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.operations;
-
-import java.util.Collections;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.BiConsumer;
-
-import io.vertx.core.Vertx;
-import io.vertx.kafka.client.consumer.KafkaConsumer;
-import io.vertx.kafka.client.consumer.KafkaConsumerRecord;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.kafka.clients.consumer.ConsumerRecord;
-import org.apache.kafka.clients.consumer.MockConsumer;
-import org.apache.kafka.clients.consumer.OffsetResetStrategy;
-import org.apache.kafka.common.KafkaException;
-import org.apache.kafka.common.TopicPartition;
-import org.apache.kafka.common.serialization.StringDeserializer;
-import org.apache.kafka.common.serialization.StringSerializer;
-import org.awaitility.Awaitility;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.TestInstance;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-@TestInstance(TestInstance.Lifecycle.PER_CLASS)
-class VertxKafkaConsumerOperationsTest {
-
-    private static final Logger LOG = LoggerFactory.getLogger(VertxKafkaConsumerOperationsTest.class);
-
-    private VertxKafkaConfiguration configuration;
-
-    @BeforeEach
-    void initConfig() {
-        configuration = new VertxKafkaConfiguration();
-        configuration.setKeySerializer(StringSerializer.class.getName());
-        configuration.setValueSerializer(StringSerializer.class.getName());
-        configuration.setKeyDeserializer(StringDeserializer.class.getName());
-        configuration.setValueDeserializer(StringDeserializer.class.getName());
-
-    }
-
-    @Test
-    void testConsumerSubscribeSingleRecords() {
-        testConsumerSubscribeRecords(1, "testConsumerSubscribeSingleRecordsTopic", 1000);
-    }
-
-    @Test
-    void testConsumerSubscribeBatchRecords() {
-        testConsumerSubscribeRecords(50, "testConsumerSubscribeBatchRecordsTopic", 5000);
-    }
-
-    @Test
-    void testConsumerSubscribeToSinglePartition() {
-        final String topic = "testConsumerSubscribeToSinglePartitionTopic";
-
-        configuration.setTopic(topic);
-        configuration.setPartitionId(1);
-        configuration.setSeekToOffset(0L);
-
-        final MockConsumer<Object, Object> mockConsumer = createConsumer();
-
-        produceRandomRecords(mockConsumer, 5, topic, false);
-
-        assertRecords(mockConsumer, 5, 1000, (record, count) -> {
-            assertEquals(topic, record.topic());
-            assertEquals(1, record.partition());
-        });
-    }
-
-    @Test
-    void testConsumerAssignWithSeek() {
-        final String topic = "testConsumerSubscribeWithSeekTopic";
-
-        configuration.setTopic(topic);
-        configuration.setPartitionId(1);
-        configuration.setSeekToOffset(4L);
-
-        final MockConsumer<Object, Object> mockConsumer = createConsumer();
-
-        produceRandomRecords(mockConsumer, 5, topic, false);
-
-        assertRecords(mockConsumer, 1, 1000, (record, count) -> {
-            assertEquals(topic, record.topic());
-            assertEquals(1, record.partition());
-            assertEquals(4L, record.offset()); // offsets in kafka starts from 0, that means the last record offset in 5 records is 4
-        });
-    }
-
-    @Test
-    void testConsumerOnError() {
-        final String topic = "testConsumerOnError";
-
-        configuration.setTopic(topic);
-
-        final MockConsumer<Object, Object> mockConsumer = createConsumer();
-
-        mockConsumer.schedulePollTask(() -> mockConsumer.setPollException(new KafkaException("Ohh, an error!")));
-
-        final VertxKafkaConsumerOperations operations = createOperations(mockConsumer, configuration);
-
-        final Latch latch = new Latch();
-
-        operations.receiveEvents(record -> {
-        }, error -> {
-            assertTrue(error instanceof KafkaException);
-            latch.done();
-        });
-
-        latch.await(1000);
-    }
-
-    void testConsumerSubscribeRecords(final int numberOfRecords, final String topic, final long timeout) {
-        configuration.setTopic(topic);
-        configuration.setSeekToOffset(0L);
-
-        final MockConsumer<Object, Object> mockConsumer = createConsumer();
-
-        produceRandomRecords(mockConsumer, numberOfRecords, topic, true);
-
-        assertRecords(mockConsumer, numberOfRecords, timeout, (kafkaRecord, val) -> {
-            assertEquals(topic, kafkaRecord.topic());
-
-            if (kafkaRecord.partition() == 0) {
-                assertEquals("my-key-0-" + val, kafkaRecord.key());
-                assertEquals("test-message-0-" + val, kafkaRecord.record().value());
-            } else {
-                assertEquals("my-key-1-" + val, kafkaRecord.key());
-                assertEquals("test-message-1-" + val, kafkaRecord.record().value());
-            }
-        });
-    }
-
-    MockConsumer<Object, Object> createConsumer() {
-        return new MockConsumer<>(OffsetResetStrategy.EARLIEST);
-    }
-
-    VertxKafkaConsumerOperations createOperations(
-            final MockConsumer<Object, Object> mockConsumer, final VertxKafkaConfiguration configuration) {
-        return new VertxKafkaConsumerOperations(KafkaConsumer.create(Vertx.vertx(), mockConsumer), configuration);
-    }
-
-    private void produceRandomRecords(
-            final MockConsumer<Object, Object> mockConsumer, final int numOfRecords, final String topic,
-            final boolean shouldRebalance) {
-        final TopicPartition topicPartition0 = new TopicPartition(topic, 0);
-        final TopicPartition topicPartition1 = new TopicPartition(topic, 1);
-
-        schedulePollTaskOnPartition(mockConsumer, numOfRecords, topicPartition0, shouldRebalance);
-        schedulePollTaskOnPartition(mockConsumer, numOfRecords, topicPartition1, shouldRebalance);
-    }
-
-    void schedulePollTaskOnPartition(
-            final MockConsumer<Object, Object> mockConsumer, final int numOfRecords, final TopicPartition partition,
-            final boolean shouldRebalance) {
-        mockConsumer.schedulePollTask(() -> {
-            // simulate a replacing for a partition
-            if (shouldRebalance) {
-                mockConsumer.rebalance(Collections.singletonList(partition));
-            }
-            // add our tests records
-            for (int i = 0; i < numOfRecords; i++) {
-                mockConsumer.addRecord(record(partition.topic(), partition.partition(), i, "my-key-0-" + i,
-                        "test-message-0-" + i));
-            }
-            if (shouldRebalance) {
-                // reset the consumer to 0 in order to subscribe from start of the offset
-                mockConsumer.seek(partition, 0L);
-            }
-        });
-    }
-
-    private ConsumerRecord<Object, Object> record(String topic, int partition, long offset, Object key, Object value) {
-        return new ConsumerRecord<>(topic, partition, offset, key, value);
-    }
-
-    private void assertRecords(
-            final MockConsumer<Object, Object> mockConsumer, final int numberOfRecords, final long timeout,
-            final BiConsumer<KafkaConsumerRecord<Object, Object>, Integer> fn) {
-        final AtomicInteger count = new AtomicInteger();
-        final Latch latch = new Latch();
-
-        final VertxKafkaConsumerOperations operations = createOperations(mockConsumer, configuration);
-
-        operations.receiveEvents(kafkaRecord -> {
-            int val = count.getAndIncrement();
-
-            fn.accept(kafkaRecord, val);
-
-            if (val == numberOfRecords - 1) {
-                latch.done();
-            }
-        }, error -> LOG.error(error.getLocalizedMessage(), error.getCause()));
-
-        latch.await(timeout);
-    }
-
-    private static class Latch {
-        private final AtomicBoolean doneFlag = new AtomicBoolean();
-
-        public void done() {
-            doneFlag.set(true);
-        }
-
-        public void await(long timeout) {
-            Awaitility
-                    .await()
-                    .atMost(timeout, TimeUnit.MILLISECONDS)
-                    .untilTrue(doneFlag);
-        }
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaProducerOperationsTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaProducerOperationsTest.java
deleted file mode 100644
index 9091110150d..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/operations/VertxKafkaProducerOperationsTest.java
+++ /dev/null
@@ -1,627 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.operations;
-
-import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.function.Consumer;
-
-import io.vertx.core.Vertx;
-import io.vertx.kafka.client.producer.KafkaProducer;
-import org.apache.camel.AggregationStrategy;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.component.vertx.kafka.VertxKafkaConstants;
-import org.apache.camel.component.vertx.kafka.VertxKafkaTestUtils;
-import org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
-import org.apache.camel.processor.aggregate.GroupedExchangeAggregationStrategy;
-import org.apache.camel.processor.aggregate.GroupedMessageAggregationStrategy;
-import org.apache.camel.support.DefaultExchange;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.apache.kafka.clients.producer.MockProducer;
-import org.apache.kafka.clients.producer.ProducerRecord;
-import org.apache.kafka.clients.producer.internals.DefaultPartitioner;
-import org.apache.kafka.common.Cluster;
-import org.apache.kafka.common.PartitionInfo;
-import org.apache.kafka.common.header.Headers;
-import org.apache.kafka.common.serialization.Serializer;
-import org.apache.kafka.common.serialization.StringDeserializer;
-import org.apache.kafka.common.serialization.StringSerializer;
-import org.awaitility.Awaitility;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.TestInstance;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-@TestInstance(TestInstance.Lifecycle.PER_CLASS)
-class VertxKafkaProducerOperationsTest extends CamelTestSupport {
-
-    private static final String TOPIC_NAME_WITH_PARTITIONS = "test_topic_with_partitions";
-
-    private static final Logger LOG = LoggerFactory.getLogger(VertxKafkaProducerOperationsTest.class);
-
-    private final VertxKafkaConfiguration configuration = new VertxKafkaConfiguration();
-    private final MockProducer<Object, Object> mockProducer = createMockProducerWithCluster();
-    private final KafkaProducer<Object, Object> producer = KafkaProducer.create(Vertx.vertx(), mockProducer);
-    private final VertxKafkaProducerOperations operations = new VertxKafkaProducerOperations(producer, configuration);
-
-    @BeforeAll
-    void prepare() {
-        configuration.setKeySerializer(StringSerializer.class.getName());
-        configuration.setValueSerializer(StringSerializer.class.getName());
-        configuration.setKeyDeserializer(StringDeserializer.class.getName());
-        configuration.setValueDeserializer(StringDeserializer.class.getName());
-    }
-
-    @AfterEach
-    void clearRecords() {
-        // clear any outstanding records
-        mockProducer.clear();
-    }
-
-    @AfterAll
-    void closeProducer() {
-        mockProducer.close();
-    }
-
-    @Test
-    void testSendSimpleEventsAsListAndString() {
-        configuration.setTopic("testSimpleEventsTopic");
-
-        final Message message1 = createMessage();
-        final List<String> messages = new LinkedList<>();
-        messages.add("test message 1");
-        messages.add("test message 2");
-        messages.add("test message 3");
-        messages.add("test message 4");
-        messages.add("test message 5");
-
-        message1.setBody(messages);
-        sendEvent(message1);
-
-        final Message message2 = createMessage();
-
-        message2.setHeader(VertxKafkaConstants.MESSAGE_KEY, "6");
-        message2.setBody("test message 6");
-
-        sendEvent(message2);
-
-        assertProducedMessages(records -> {
-            // assert the size
-            assertEquals(6, records.size());
-
-            // assert the content
-            final ProducerRecord<Object, Object> record1 = records.get(0);
-            final ProducerRecord<Object, Object> record2 = records.get(1);
-            final ProducerRecord<Object, Object> record3 = records.get(2);
-            final ProducerRecord<Object, Object> record4 = records.get(3);
-            final ProducerRecord<Object, Object> record5 = records.get(4);
-            final ProducerRecord<Object, Object> record6 = records.get(5);
-
-            assertEquals("test message 1", record1.value().toString());
-            assertEquals("test message 2", record2.value().toString());
-            assertEquals("test message 3", record3.value().toString());
-            assertEquals("test message 4", record4.value().toString());
-            assertEquals("test message 5", record5.value().toString());
-            assertEquals("test message 6", record6.value().toString());
-
-            assertNull(record1.key());
-            assertNull(record2.key());
-            assertNull(record3.key());
-            assertNull(record4.key());
-            assertNull(record5.key());
-            assertEquals("6", record6.key().toString());
-
-            records.forEach(record -> {
-                // assert is the correct topic
-                assertEquals("testSimpleEventsTopic", record.topic());
-                assertNull(record.partition());
-            });
-        });
-    }
-
-    @Test
-    void testSendEventWithMultiplePartitions() {
-        configuration.setTopic(TOPIC_NAME_WITH_PARTITIONS);
-
-        final Message message1 = createMessage();
-        message1.setBody("message 1");
-        message1.setHeader(VertxKafkaConstants.PARTITION_ID, 0);
-
-        final CompletableFuture<Integer> resultPartition1 = new CompletableFuture<>();
-
-        operations.sendEvents(message1, recordMetadata -> resultPartition1.complete(recordMetadata.get(0).getPartition()),
-                doneSync -> {
-                });
-
-        final Message message2 = createMessage();
-        message2.setBody("message 2");
-        message2.setHeader(VertxKafkaConstants.PARTITION_ID, 1);
-
-        final CompletableFuture<Integer> resultPartition2 = new CompletableFuture<>();
-
-        operations.sendEvents(message2, recordMetadata -> resultPartition2.complete(recordMetadata.get(0).getPartition()),
-                doneSync -> {
-                });
-
-        final Message message3 = createMessage();
-        message3.setBody("message 3");
-        message3.setHeader(VertxKafkaConstants.MESSAGE_KEY, "2");
-
-        final CompletableFuture<Integer> resultPartition3 = new CompletableFuture<>();
-
-        operations.sendEvents(message3, recordMetadata -> resultPartition3.complete(recordMetadata.get(0).getPartition()),
-                doneSync -> {
-                });
-
-        final Message message4 = createMessage();
-        message4.setBody("message 4");
-        message4.setHeader(VertxKafkaConstants.MESSAGE_KEY, "3");
-
-        final CompletableFuture<Integer> resultPartition4 = new CompletableFuture<>();
-
-        operations.sendEvents(message4, recordMetadata -> resultPartition4.complete(recordMetadata.get(0).getPartition()),
-                doneSync -> {
-                });
-
-        assertProducedMessages(records -> {
-            // assert the size
-            assertEquals(4, records.size());
-
-            // assert the content
-            final ProducerRecord<Object, Object> record1 = records.get(0);
-            final ProducerRecord<Object, Object> record2 = records.get(1);
-            final ProducerRecord<Object, Object> record3 = records.get(2);
-            final ProducerRecord<Object, Object> record4 = records.get(3);
-
-            assertEquals("message 1", record1.value().toString());
-            assertEquals("message 2", record2.value().toString());
-            assertEquals("message 3", record3.value().toString());
-            assertEquals("message 4", record4.value().toString());
-
-            // assert partition id
-            try {
-                assertEquals(0, resultPartition1.get());
-                assertEquals(1, resultPartition2.get());
-                assertEquals(0, resultPartition3.get());
-                assertEquals(1, resultPartition4.get());
-            } catch (InterruptedException | ExecutionException e) {
-                LOG.error(e.getMessage(), e);
-            }
-
-            records.forEach(record -> {
-                assertEquals(TOPIC_NAME_WITH_PARTITIONS, record.topic());
-            });
-        });
-    }
-
-    @Test
-    void testSendEventsWithTopicHeaderAndNoTopicInConfig() {
-        configuration.setTopic(null);
-
-        final Message message = createMessage();
-        message.setBody("test message");
-        message.setHeader(VertxKafkaConstants.TOPIC, "test_topic");
-
-        sendEvent(message);
-
-        verifySendMessage("test_topic", null, "test message");
-    }
-
-    @Test
-    void testSendEventWithTopicHeaderAndConfig() {
-        configuration.setTopic("sometopic");
-
-        final Message message = createMessage();
-
-        message.setHeader(VertxKafkaConstants.TOPIC, "anotherTopic");
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-        message.setBody("test");
-
-        sendEvent(message);
-
-        // header is preserved
-        assertNotNull(message.getHeader(VertxKafkaConstants.TOPIC));
-
-        verifySendMessage("anotherTopic", "someKey", "test");
-    }
-
-    @Test
-    void testSendEventWithOverrideTopicHeaderAndConfig() {
-        configuration.setTopic("sometopic");
-
-        final Message message = createMessage();
-
-        message.setHeader(VertxKafkaConstants.OVERRIDE_TOPIC, "anotherTopic");
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-        message.setBody("test");
-
-        sendEvent(message);
-
-        // the header is now removed
-        assertNull(message.getHeader(VertxKafkaConstants.OVERRIDE_TOPIC));
-
-        verifySendMessage("anotherTopic", "someKey", "test");
-    }
-
-    @Test
-    void testSendEventWithOverrideTopicHeaderAndTimestamp() {
-        configuration.setTopic("sometopic");
-        Long timestamp = LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
-
-        final Message message = createMessage();
-
-        message.setHeader(VertxKafkaConstants.OVERRIDE_TOPIC, "anotherTopic");
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-        message.setHeader(VertxKafkaConstants.OVERRIDE_TIMESTAMP, timestamp);
-        message.setBody("test");
-
-        sendEvent(message);
-
-        // the header is now removed
-        assertNull(message.getHeader(VertxKafkaConstants.OVERRIDE_TOPIC));
-        assertNull(message.getHeader(VertxKafkaConstants.OVERRIDE_TIMESTAMP));
-
-        verifySendMessage("anotherTopic", "someKey", timestamp, "test");
-    }
-
-    @Test
-    void testSendEventWithNoTopicSet() {
-        configuration.setTopic(null);
-
-        final Message message = createMessage();
-
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-        message.setBody("test");
-
-        assertThrows(IllegalArgumentException.class, () -> sendEvent(message));
-    }
-
-    @Test
-    void testSendEventRequiresTopicInConfiguration() {
-        configuration.setTopic("configTopic");
-
-        final Message message = createMessage();
-
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-
-        sendEvent(message);
-
-        verifySendMessage("configTopic", "someKey");
-    }
-
-    @Test
-    void testSendsEventWithListOfExchangesWithOverrideTopicHeaderOnEveryExchange() {
-        configuration.setTopic("someTopic");
-
-        final Message message = createMessage();
-
-        // we set the initial topic
-        message.setHeader(VertxKafkaConstants.OVERRIDE_TOPIC, "anotherTopic");
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-
-        // we add our exchanges in order to aggregate
-        final List<Exchange> nestedExchanges
-                = createListOfExchanges(Arrays.asList("overridenTopic1", "overridenTopic2", "overridenTopic3"),
-                        VertxKafkaConstants.OVERRIDE_TOPIC);
-
-        // aggregate
-        final Exchange finalAggregatedExchange = aggregateExchanges(nestedExchanges, new GroupedExchangeAggregationStrategy());
-
-        message.setBody(finalAggregatedExchange.getIn().getBody());
-        message.setHeaders(finalAggregatedExchange.getIn().getHeaders());
-
-        sendEvent(message);
-
-        assertProducedMessages(records -> {
-            assertEquals(3, records.size());
-
-            // assert topics
-            assertEquals("overridenTopic1", records.get(0).topic());
-            assertEquals("overridenTopic2", records.get(1).topic());
-            assertEquals("overridenTopic3", records.get(2).topic());
-        });
-    }
-
-    @Test
-    void testSendsEventWithListOfExchangesWithTopicHeaderOnEveryExchange() {
-        configuration.setTopic("someTopic");
-
-        final Message message = createMessage();
-
-        // we set the initial topic
-        message.setHeader(VertxKafkaConstants.OVERRIDE_TOPIC, "anotherTopic");
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-
-        // we add our exchanges in order to aggregate
-        final List<Exchange> nestedExchanges
-                = createListOfExchanges(Arrays.asList("topic1", "topic2", "topic3"),
-                        VertxKafkaConstants.TOPIC);
-
-        // aggregate
-        final Exchange finalAggregatedExchange = aggregateExchanges(nestedExchanges, new GroupedExchangeAggregationStrategy());
-
-        message.setBody(finalAggregatedExchange.getIn().getBody());
-        message.setHeaders(finalAggregatedExchange.getIn().getHeaders());
-
-        sendEvent(message);
-
-        assertProducedMessages(records -> {
-            assertEquals(3, records.size());
-
-            // assert topics
-            assertEquals("topic1", records.get(0).topic());
-            assertEquals("topic2", records.get(1).topic());
-            assertEquals("topic3", records.get(2).topic());
-        });
-    }
-
-    @Test
-    void testSendsEventWithListOfExchangesWithTopicOnConfig() {
-        configuration.setTopic("someTopic");
-
-        final Message message = createMessage();
-
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-
-        // we add our exchanges in order to aggregate
-        final List<Exchange> nestedExchanges
-                = createListOfExchanges(Arrays.asList("key1", "key2", "key3"), VertxKafkaConstants.MESSAGE_KEY);
-
-        // aggregate
-        final Exchange finalAggregatedExchange = aggregateExchanges(nestedExchanges, new GroupedExchangeAggregationStrategy());
-
-        message.setBody(finalAggregatedExchange.getIn().getBody());
-        message.setHeaders(finalAggregatedExchange.getIn().getHeaders());
-
-        sendEvent(message);
-
-        assertProducedMessages(records -> {
-            assertEquals(3, records.size());
-
-            // assert keys
-            assertEquals("key1", records.get(0).key());
-            assertEquals("key2", records.get(1).key());
-            assertEquals("key3", records.get(2).key());
-
-            records.forEach(record -> assertEquals("someTopic", record.topic()));
-        });
-    }
-
-    @Test
-    void testSendsEventWithListOfExchangesWithOverrideTopicOnHeaders() {
-        configuration.setTopic("someTopic");
-
-        final Message message = createMessage();
-
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-        message.setHeader(VertxKafkaConstants.OVERRIDE_TOPIC, "anotherTopic");
-
-        // we add our exchanges in order to aggregate
-        final List<Exchange> nestedExchanges
-                = createListOfExchanges(Arrays.asList("key1", "key2", "key3"), VertxKafkaConstants.MESSAGE_KEY);
-
-        // aggregate
-        final Exchange finalAggregatedExchange = aggregateExchanges(nestedExchanges, new GroupedExchangeAggregationStrategy());
-
-        message.setBody(finalAggregatedExchange.getIn().getBody());
-
-        sendEvent(message);
-
-        // the header is now removed
-        assertNull(message.getHeader(VertxKafkaConstants.OVERRIDE_TOPIC));
-
-        assertProducedMessages(records -> {
-            assertEquals(3, records.size());
-
-            // assert keys
-            assertEquals("key1", records.get(0).key());
-            assertEquals("key2", records.get(1).key());
-            assertEquals("key3", records.get(2).key());
-
-            records.forEach(record -> assertEquals("anotherTopic", record.topic()));
-        });
-    }
-
-    @Test
-    void testSendsEventWithListOfMessagesWithOverrideTopicHeaderOnEveryExchange() {
-        configuration.setTopic("someTopic");
-
-        final Message message = createMessage();
-
-        // we set the initial topic
-        message.setHeader(VertxKafkaConstants.OVERRIDE_TOPIC, "anotherTopic");
-        message.setHeader(VertxKafkaConstants.MESSAGE_KEY, "someKey");
-
-        // we add our exchanges in order to aggregate
-        final List<Exchange> nestedExchanges
-                = createListOfExchanges(Arrays.asList("overridenTopic1", "overridenTopic2", "overridenTopic3"),
-                        VertxKafkaConstants.OVERRIDE_TOPIC);
-
-        // aggregate
-        final Exchange finalAggregatedExchange = aggregateExchanges(nestedExchanges, new GroupedMessageAggregationStrategy());
-
-        message.setBody(finalAggregatedExchange.getIn().getBody());
-        message.setHeaders(finalAggregatedExchange.getIn().getHeaders());
-
-        sendEvent(message);
-
-        assertProducedMessages(records -> {
-            assertEquals(3, records.size());
-
-            // assert topics
-            assertEquals("overridenTopic1", records.get(0).topic());
-            assertEquals("overridenTopic2", records.get(1).topic());
-            assertEquals("overridenTopic3", records.get(2).topic());
-        });
-    }
-
-    @Test
-    void testIfPropagateHeadersFromCamelMessage() {
-        configuration.setTopic("someTopic");
-
-        final Message message = createMessage();
-
-        // set some headers
-        message.setHeader("CamelDummy", "test-camel-dummy-header");
-        message.setHeader(VertxKafkaConstants.TOPIC, "someTopic");
-        message.setHeader("MyHeader", "test-value-my-header");
-        message.setBody("message");
-
-        sendEvent(message);
-
-        assertProducedMessages(records -> {
-            assertEquals(1, records.size());
-            // we expect only one header since they are filtered out
-            assertEquals(1, records.get(0).headers().toArray().length);
-            assertEquals("test-value-my-header", new String(getHeaderValue("MyHeader", records.get(0).headers())));
-        });
-    }
-
-    private Message createMessage() {
-        return new DefaultExchange(context).getIn();
-    }
-
-    private List<Exchange> createListOfExchanges(final List<String> properties, final String headerKey) {
-        final List<Exchange> resultLists = new LinkedList<>();
-
-        properties.forEach(property -> {
-            final Exchange innerExchange = new DefaultExchange(context);
-            innerExchange.getIn().setHeader(headerKey, property);
-            resultLists.add(innerExchange);
-        });
-
-        return resultLists;
-    }
-
-    private Exchange aggregateExchanges(final List<Exchange> exchangesToAggregate, final AggregationStrategy strategy) {
-        Exchange exchangeHolder = new DefaultExchange(context);
-
-        for (final Exchange innerExchange : exchangesToAggregate) {
-            exchangeHolder = strategy.aggregate(exchangeHolder, innerExchange);
-        }
-
-        strategy.onCompletion(exchangeHolder);
-
-        return exchangeHolder;
-    }
-
-    private MockProducer<Object, Object> createMockProducerWithCluster() {
-        final List<PartitionInfo> partitionInfos = new ArrayList<>();
-        partitionInfos.add(new PartitionInfo(TOPIC_NAME_WITH_PARTITIONS, 0, null, null, null));
-        partitionInfos.add(new PartitionInfo(TOPIC_NAME_WITH_PARTITIONS, 1, null, null, null));
-
-        final Cluster cluster = new Cluster(
-                "kafka_cluster", new ArrayList<>(), partitionInfos, Collections.emptySet(), Collections.emptySet());
-
-        return new MockProducer<>(
-                cluster, true, new EvenOddPartitioner(), new StringObjectSerializer(), new StringObjectSerializer());
-    }
-
-    private void verifySendMessage(final String topic, final Object messageKey) {
-        verifySendMessage(topic, messageKey, null);
-    }
-
-    private void verifySendMessage(final String topic, final Object messageKey, final Object messageBody) {
-        assertProducedMessages(records -> {
-            assertEquals(1, records.size());
-            assertEquals(topic, records.get(0).topic());
-            assertEquals(messageKey, records.get(0).key());
-            assertEquals(messageBody, records.get(0).value());
-        });
-    }
-
-    private void verifySendMessage(
-            final String topic, final Object messageKey, final Long timestamp, final Object messageBody) {
-        assertProducedMessages(records -> {
-            assertEquals(1, records.size());
-            assertEquals(topic, records.get(0).topic());
-            assertEquals(messageKey, records.get(0).key());
-            assertEquals(messageBody, records.get(0).value());
-            assertEquals(timestamp, records.get(0).timestamp());
-
-        });
-    }
-
-    private void assertProducedMessages(final Consumer<List<ProducerRecord<Object, Object>>> recordsFn) {
-        Awaitility
-                .await()
-                .atMost(2, TimeUnit.SECONDS)
-                .pollInterval(100, TimeUnit.MILLISECONDS)
-                .until(() -> {
-                    if (!mockProducer.history().isEmpty()) {
-                        recordsFn.accept(mockProducer.history());
-
-                        return true;
-                    }
-                    return false;
-                });
-    }
-
-    private void sendEvent(final Message message) {
-        operations.sendEvents(message, doneSync -> {
-        });
-    }
-
-    private byte[] getHeaderValue(String headerKey, Headers headers) {
-        return VertxKafkaTestUtils.getHeaderValue(headerKey, headers);
-    }
-
-    public static class EvenOddPartitioner extends DefaultPartitioner {
-        @Override
-        public int partition(
-                String topic, Object key, byte[] keyBytes, Object value,
-                byte[] valueBytes, Cluster cluster) {
-            if (Integer.parseInt(key.toString()) % 2 == 0) {
-                return 0;
-            }
-            return 1;
-        }
-    }
-
-    public static class StringObjectSerializer implements Serializer<Object> {
-
-        final StringSerializer stringSerializer = new StringSerializer();
-
-        @Override
-        public void configure(Map<String, ?> configs, boolean isKey) {
-            stringSerializer.configure(configs, isKey);
-        }
-
-        @Override
-        public byte[] serialize(String topic, Object data) {
-            return stringSerializer.serialize(topic, data != null ? data.toString() : null);
-        }
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaHeaderSerializerTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaHeaderSerializerTest.java
deleted file mode 100644
index 8b6e5a49dc6..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaHeaderSerializerTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.serde;
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Objects;
-
-import io.vertx.core.buffer.Buffer;
-import org.junit.jupiter.params.ParameterizedTest;
-import org.junit.jupiter.params.provider.MethodSource;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-class VertxKafkaHeaderSerializerTest {
-
-    @ParameterizedTest
-    @MethodSource("primeNumbers")
-    public void serialize(Object value, byte[] expectedResult) {
-        byte[] result = Objects.requireNonNull(VertxKafkaHeaderSerializer.serialize(value)).getBytes();
-
-        assertArrayEquals(expectedResult, result);
-
-        assertNull(VertxKafkaHeaderSerializer.serialize(null));
-        assertNull(VertxKafkaHeaderSerializer.serialize(new Object()));
-    }
-
-    public static Collection<Object[]> primeNumbers() {
-        return Arrays.asList(new Object[][] {
-                { Boolean.TRUE, "true".getBytes() }, // boolean
-                { -12, new byte[] { -1, -1, -1, -12 } }, // integer
-                { 19L, new byte[] { 0, 0, 0, 0, 0, 0, 0, 19 } }, // long
-                { 22.0D, new byte[] { 64, 54, 0, 0, 0, 0, 0, 0 } }, // double
-                { "someValue", "someValue".getBytes() }, // string
-                { new byte[] { 0, 2, -43 }, new byte[] { 0, 2, -43 } }, // byte[]
-                { Buffer.buffer("buffer value"), Buffer.buffer("buffer value").getBytes() } // buffer
-        });
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaTypeSerializerTest.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaTypeSerializerTest.java
deleted file mode 100644
index fc3e2950502..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/java/org/apache/camel/component/vertx/kafka/serde/VertxKafkaTypeSerializerTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.vertx.kafka.serde;
-
-import java.nio.ByteBuffer;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.support.DefaultExchange;
-import org.apache.camel.test.junit5.CamelTestSupport;
-import org.apache.kafka.common.serialization.ByteArraySerializer;
-import org.apache.kafka.common.serialization.ByteBufferSerializer;
-import org.apache.kafka.common.serialization.BytesSerializer;
-import org.apache.kafka.common.serialization.StringSerializer;
-import org.apache.kafka.common.utils.Bytes;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class VertxKafkaTypeSerializerTest extends CamelTestSupport {
-
-    @Test
-    void testNormalTypes() {
-        final Exchange exchange = new DefaultExchange(context);
-        final Message message = exchange.getIn();
-
-        final Object convertedStringValue
-                = VertxKafkaTypeSerializer.tryConvertToSerializedType(message, 12, StringSerializer.class.getName());
-
-        assertEquals("12", convertedStringValue);
-
-        final Object convertedByteArr
-                = VertxKafkaTypeSerializer.tryConvertToSerializedType(message, "test", ByteArraySerializer.class.getName());
-
-        assertTrue(convertedByteArr instanceof byte[]);
-
-        final Object convertedByteBuffer
-                = VertxKafkaTypeSerializer.tryConvertToSerializedType(message, "test", ByteBufferSerializer.class.getName());
-
-        assertTrue(convertedByteBuffer instanceof ByteBuffer);
-
-        final Object convertedBytes
-                = VertxKafkaTypeSerializer.tryConvertToSerializedType(message, "test", BytesSerializer.class.getName());
-
-        assertTrue(convertedBytes instanceof Bytes);
-
-        final Object convertedFallback
-                = VertxKafkaTypeSerializer.tryConvertToSerializedType(message, "test", "dummy");
-
-        assertEquals("test", convertedFallback);
-
-        assertNull(VertxKafkaTypeSerializer.tryConvertToSerializedType(message, null, "dummy"));
-
-        assertNull(VertxKafkaTypeSerializer.tryConvertToSerializedType(message, null, null));
-
-        assertEquals("test", VertxKafkaTypeSerializer.tryConvertToSerializedType(message, "test", null));
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/resources/log4j2.properties b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/resources/log4j2.properties
deleted file mode 100644
index 268020521f6..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-component/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements.  See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License.  You may obtain a copy of the License at
-##
-##      http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-vertx-kafka-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
\ No newline at end of file
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/pom.xml b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/pom.xml
deleted file mode 100644
index 9ea85f7fe3c..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/pom.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-vertx-kafka-parent</artifactId>
-        <version>3.21.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.camel.maven</groupId>
-    <artifactId>camel-vertx-kafka-maven-plugin</artifactId>
-    <packaging>maven-plugin</packaging>
-    <name>Camel :: Vert.x :: Kafka :: Maven plugin</name>
-    <description>Camel Vert.x Kafka Maven plugin</description>
-
-    <properties>
-        <firstVersion>3.7.0</firstVersion>
-    </properties>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>tooling-parent</artifactId>
-                <version>${project.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-package-maven-plugin</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-text</artifactId>
-            <version>${commons-text-version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-junit5</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <!-- maven-jar-plugin config for Maven plugins. -->
-            <plugin>
-                <artifactId>maven-jar-plugin</artifactId>
-                <configuration>
-                    <archive combine.self="override">
-                        <manifestFile />
-                        <manifest>
-                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                        </manifest>
-                    </archive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-bundle-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>none</phase>
-                    </execution>
-                    <execution>
-                        <id>versions</id>
-                        <phase>none</phase>
-                    </execution>
-                    <execution>
-                        <id>bundle-manifest</id>
-                        <phase>none</phase>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-package-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>prepare</id>
-                        <phase>none</phase>
-                    </execution>
-                    <execution>
-                        <id>validate</id>
-                        <phase>none</phase>
-                    </execution>
-                    <execution>
-                        <id>readme</id>
-                        <phase>none</phase>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/generated/resources/META-INF/services/org/apache/camel/other.properties
deleted file mode 100644
index bc65a9589c5..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/generated/resources/META-INF/services/org/apache/camel/other.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-name=vertx-kafka-maven-plugin
-groupId=org.apache.camel.maven
-artifactId=camel-vertx-kafka-maven-plugin
-version=3.21.0-SNAPSHOT
-projectName=Camel :: Vert.x :: Kafka :: Maven plugin
-projectDescription=Camel Vert.x Kafka Maven plugin
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/generated/resources/vertx-kafka-maven-plugin.json b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/generated/resources/vertx-kafka-maven-plugin.json
deleted file mode 100644
index c60f2e92e32..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/generated/resources/vertx-kafka-maven-plugin.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  "other": {
-    "kind": "other",
-    "name": "vertx-kafka-maven-plugin",
-    "title": "Vertx Kafka Maven Plugin",
-    "description": "Camel Vert.x Kafka Maven plugin",
-    "deprecated": false,
-    "firstVersion": "3.7.0",
-    "supportLevel": "Stable",
-    "groupId": "org.apache.camel.maven",
-    "artifactId": "camel-vertx-kafka-maven-plugin",
-    "version": "3.21.0-SNAPSHOT"
-  }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/main/java/org/apache/camel/maven/component/vertx/kafka/GenerateKafkaConfigMojo.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/main/java/org/apache/camel/maven/component/vertx/kafka/GenerateKafkaConfigMojo.java
deleted file mode 100644
index b99e9c5ea6e..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/main/java/org/apache/camel/maven/component/vertx/kafka/GenerateKafkaConfigMojo.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.maven.component.vertx.kafka;
-
-import java.io.File;
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.maven.component.vertx.kafka.config.ConfigField;
-import org.apache.camel.maven.component.vertx.kafka.config.ConfigFieldsBuilder;
-import org.apache.camel.maven.component.vertx.kafka.config.ConfigJavaClass;
-import org.apache.camel.tooling.util.FileUtil;
-import org.apache.kafka.clients.consumer.ConsumerConfig;
-import org.apache.kafka.clients.producer.ProducerConfig;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-
-@Mojo(name = "generate-kafka-config", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
-public class GenerateKafkaConfigMojo extends AbstractMojo {
-
-    @Parameter(defaultValue = "${project.build.directory}/generated-sources/configuration")
-    private File generatedSrcDir;
-
-    /**
-     * The generated configuration class name
-     */
-    @Parameter(defaultValue = "KafkaConfiguration", required = true)
-    private String className;
-
-    /**
-     * The generated configuration package name
-     */
-    @Parameter(defaultValue = "org.apache.camel.component.vertx.kafka.configuration", required = true)
-    private String packageName;
-
-    /**
-     * The parent class name in case the generated configuration class needs to extend a parent class
-     */
-    @Parameter
-    private String parentClassName;
-
-    /**
-     * Fields names that need to be required
-     */
-    @Parameter
-    private Set<String> requiredFields = Collections.emptySet();
-
-    /**
-     * Fields names that need to be deprecated
-     */
-    @Parameter
-    private Set<String> deprecatedFields = Collections.emptySet();
-
-    /**
-     * Fields names that need to be skipped (not to be generated)
-     */
-    @Parameter
-    private Set<String> skippedFields = Collections.emptySet();
-
-    /**
-     * Fields that need to be annotated with @UriPath in Camel
-     */
-    @Parameter
-    private Set<String> uriPathFields = Collections.emptySet();
-
-    /**
-     * Map of fields raw name -> overridden value for this field
-     */
-    @Parameter
-    private Map<String, Object> overriddenDefaultValues = Collections.emptyMap();
-
-    /**
-     * Map of fields raw name -> overridden generated variable name for this field. e.g: topic -> awesomeTopic
-     */
-    @Parameter
-    private Map<String, String> overriddenVariableNames = Collections.emptyMap();
-
-    /**
-     * Map of fields that need to be additionally added and can be used by both, camel producer and camel consumer
-     */
-    @Parameter
-    private Map<String, ConfigField> additionalCommonConfigs = Collections.emptyMap();
-
-    /**
-     * Map of fields that need to be additionally added and can be only used by camel consumer
-     */
-    @Parameter
-    private Map<String, ConfigField> additionalConsumerConfigs = Collections.emptyMap();
-
-    /**
-     * Map of fields that need to be additionally added and can be only used by camel producer
-     */
-    @Parameter
-    private Map<String, ConfigField> additionalProducerConfigs = Collections.emptyMap();
-
-    @Override
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        final Map<String, ConfigField> consumerConfigs = new ConfigFieldsBuilder()
-                .fromConfigKeys(ConsumerConfig.configDef().configKeys())
-                .addConfig(additionalConsumerConfigs)
-                .addConfig(additionalCommonConfigs)
-                .setUriPathFields(uriPathFields)
-                .setRequiredFields(requiredFields)
-                .setSkippedFields(skippedFields)
-                .setDeprecatedFields(deprecatedFields)
-                .setOverriddenVariableNames(overriddenVariableNames)
-                .setOverriddenDefaultValues(overriddenDefaultValues)
-                .build();
-
-        final Map<String, ConfigField> producerConfigs = new ConfigFieldsBuilder()
-                .fromConfigKeys(ProducerConfig.configDef().configKeys())
-                .addConfig(additionalProducerConfigs)
-                .addConfig(additionalCommonConfigs)
-                .setUriPathFields(uriPathFields)
-                .setRequiredFields(requiredFields)
-                .setSkippedFields(skippedFields)
-                .setDeprecatedFields(deprecatedFields)
-                .setOverriddenVariableNames(overriddenVariableNames)
-                .setOverriddenDefaultValues(overriddenDefaultValues)
-                .build();
-
-        try {
-            final ConfigJavaClass configJavaClass = ConfigJavaClass.builder()
-                    .withClassName(className)
-                    .withPackageName(packageName)
-                    .withParentClassName(parentClassName)
-                    .withConsumerConfigs(consumerConfigs)
-                    .withProducerConfigs(producerConfigs)
-                    .build();
-
-            final File parentPath = new File(generatedSrcDir, packageName.replace(".", "/"));
-            final File configClassFile = new File(parentPath, className + ".java");
-            if (!configClassFile.exists()) {
-                configClassFile.getParentFile().mkdirs();
-                configClassFile.createNewFile();
-            }
-            FileUtil.updateFile(configClassFile.toPath(), configJavaClass.printClassAsString());
-        } catch (Exception e) {
-            throw new MojoFailureException(e.getMessage(), e);
-        }
-    }
-}
diff --git a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/main/java/org/apache/camel/maven/component/vertx/kafka/config/ConfigField.java b/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/main/java/org/apache/camel/maven/component/vertx/kafka/config/ConfigField.java
deleted file mode 100644
index f7fa7522213..00000000000
--- a/components/camel-vertx/camel-vertx-kafka/camel-vertx-kafka-maven-plugin/src/main/java/org/apache/camel/maven/component/vertx/kafka/config/ConfigField.java
+++ /dev/null
@@ -1,443 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.maven.component.vertx.kafka.config;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-import org.apache.camel.util.ObjectHelper;
-import org.apache.commons.text.CaseUtils;
-import org.apache.commons.text.WordUtils;
-import org.apache.kafka.common.config.ConfigDef;
-
-// Proxy class for ConfigKey
-public class ConfigField {
-
-    private static final String[] SECURITY_PREFIXES = { "sasl", "ssl" };
-    private static final String[] SECURITY_KEYWORDS = { "security" };
-    private static final String INTERNAL_PREFIX = "internal.";
-
-    private final Set<String> labels;
-    private final Set<String> enums;
-    private final String name;
-    private final String documentation;
-    private final Object defaultValue;
-    private final String variableName;
-    private final ConfigDef.Importance importance;
-    private final ConfigDef.Type type;
-    private final ConfigDef.Validator validator;
-    private final boolean isDeprecated;
-    private final boolean isRequired;
-    private final boolean isUriPathOption;
-    private final boolean isInternal;
-
-    // only used for reflection
-    // use the builder instead
-    public ConfigField() {
-        this.name = "";
-        this.documentation = null;
-        this.defaultValue = null;
-        this.variableName = null;
-        this.importance = null;
-        this.type = null;
-        this.validator = null;
-        this.isDeprecated = false;
-        this.isRequired = false;
-        this.isUriPathOption = false;
-        this.isInternal = false;
-        this.labels = Collections.emptySet();
-        this.enums = Collections.emptySet();
-    }
-
-    private ConfigField(String name, String documentation, Object defaultValue, String variableName,
-                        ConfigDef.Importance importance,
-                        ConfigDef.Type type, ConfigDef.Validator validator, boolean isDeprecated, boolean isRequired,
-                        boolean isUriPathOption, boolean isInternal, Set<String> labels) {
-        this.name = name;
-        this.documentation = documentation;
-        this.defaultValue = defaultValue;
-        this.variableName = variableName;
-        this.importance = importance;
-        this.type = type;
-        this.validator = validator;
-        this.isDeprecated = isDeprecated;
-        this.isRequired = isRequired;
-        this.isUriPathOption = isUriPathOption;
-        this.isInternal = isInternal;
-        this.labels = labels;
-        this.enums = Collections.emptySet();
-
-        if (isSecurityType()) {
-            labels.add("security");
-        }
-    }
-
-    public static ConfigFieldBuilder fromConfigKey(final ConfigDef.ConfigKey configKey) {
-        return new ConfigFieldBuilder(configKey);
-    }
-
-    public static ConfigFieldBuilder withName(final String name) {
-        return new ConfigFieldBuilder(name);
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getVariableName() {
-        if (ObjectHelper.isNotEmpty(variableName)) {
-            return variableName;
-        }
-        return getCamelCase(getName());
-    }
-
-    public String getFieldSetterMethodName() {
-        return getSetterMethodName(getVariableName());
-    }
-
-    public String getFieldGetterMethodName() {
-        return getGetterMethodName(getVariableName(), type);
-    }
-
-    public Class<?> getRawType() {
-        return getType(type);
-    }
-
-    public Object getDefaultValue() {
-
-        if (defaultValue == null || defaultValue.equals(ConfigDef.NO_DEFAULT_VALUE)) {
-            return null;
-        }
-
-        return defaultValue;
-    }
-
-    public Set<String> getLabels() {
-        return labels;
-    }
-
-    public String getDefaultValueAsAssignableFriendly() {
-        if (ObjectHelper.isNotEmpty(getDefaultValue())) {
-            final String convertedValue = getDefaultValueForStringPassClassListTypes(type, getDefaultValue());
-
-            if (ObjectHelper.isNotEmpty(convertedValue)) {
-                return wrapString(convertedValue);
-            }
-
-            return getDefaultValue().toString();
-        }
-        return null;
-    }
-
-    public String getDefaultValueWrappedInAsString() {
-        if (ObjectHelper.isNotEmpty(getDefaultValue())) {
-            final String convertedValue = getDefaultValueForStringPassClassListTypes(type, getDefaultValue());
-
-            if (ObjectHelper.isNotEmpty(convertedValue)) {
-                return wrapString(convertedValue);
-            }
-
-            return wrapString(getDefaultValue().toString());
-        }
-        return null;
-    }
-
-    public String getDefaultValueAsTimeString() {
-        if (isTimeField()) {
-            final long defaultValueAsLong = Long.parseLong(getDefaultValueAsAssignableFriendly());
-
-            return ConfigUtils.toTimeAsString(defaultValueAsLong);
-        }
-
-        return null;
-    }
-
-    public ConfigDef.Importance getImportance() {
-        return importance;
-    }
-
-    public boolean isDeprecated() {
-        return isDeprecated;
-    }
-
-    public boolean isRequired() {
-        return isRequired;
-    }
-
-    public boolean isUriPathOption() {
-        return isUriPathOption;
-    }
-
-    public String getDescription() {
-        if (documentation != null) {
-            return removeNonAsciiChars(documentation);
-        }
-        return "";
-    }
-
-    public boolean isTimeField() {
-        // since we don't really have an info if the field is a time or not, we use a hack that if the field name ends with `ms` and of type
-        // int or long. Not pretty but is the only feasible workaround here.
-        return isMillSecondsInTheFieldName(name)
-                && (type == ConfigDef.Type.INT || type == ConfigDef.Type.LONG);
-    }
-
-    public boolean isInternal() {
-        return getName().startsWith(INTERNAL_PREFIX) || isInternal;
-    }
-
-    public List<String> getValidEnumsStrings() {
-        if (enums.isEmpty()) {
-            return getValidStringFromValidator(validator);
-        }
-
-        return new ArrayList<>(enums);
-    }
-
-    public boolean isSecurityType() {
-        if (Arrays.stream(SECURITY_PREFIXES).anyMatch(word -> getName().toLowerCase().startsWith(word))) {
-            return true;
-        }
-
-        return Arrays.stream(SECURITY_KEYWORDS).anyMatch(word -> getName().toLowerCase().contains(word));
-    }
-
-    private boolean isMillSecondsInTheFieldName(final String name) {
-        final String[] parts = name.split("\\.");
-        return parts.length > 0 && parts[parts.length - 1].equalsIgnoreCase("ms");
-    }
-
-    private String getSetterMethodName(final String name) {
-        return appendMethodPrefix("set", name);
-    }
-
-    private String getGetterMethodName(final String name, ConfigDef.Type type) {
-        if (type == ConfigDef.Type.BOOLEAN) {
-            return appendMethodPrefix("is", name);
-        } else {
-            return appendMethodPrefix("get", name);
-        }
-    }
-
-    private String getCamelCase(final String name) {
-        return CaseUtils.toCamelCase(name, false, '.', '_');
-    }
-
-    private String appendMethodPrefix(final String prefix, final String name) {
-        return prefix + WordUtils.capitalize(name);
-    }
-
-    private Class<?> getType(final ConfigDef.Type type) {
-        switch (type) {
-            case INT:
-                return getPrimitiveOrBoxed(Integer.TYPE, Integer.class);
-            case SHORT:
-                return getPrimitiveOrBoxed(Short.TYPE, Short.class);
-            case DOUBLE:
-                return getPrimitiveOrBoxed(Double.TYPE, Double.class);
-            case STRING:
-            case PASSWORD:
-            case CLASS:
-            case LIST:
-                return String.class;
-            case BOOLEAN:
-                return Boolean.TYPE;
-            case LONG:
-                return getPrimitiveOrBoxed(Long.TYPE, Long.class);
-            default:
-                throw new IllegalArgumentException(String.format("Type '%s' is not supported", type.name()));
-        }
-    }
-
-    private Class<?> getPrimitiveOrBoxed(final Class<?> primitiveType, final Class<?> boxedType) {
-        if (ObjectHelper.isEmpty(getDefaultValue())) {
-            return boxedType;
-        }
-
-        return primitiveType;
-    }
-
-    @SuppressWarnings("unchecked")
-    private String getDefaultValueForStringPassClassListTypes(final ConfigDef.Type type, final Object value) {
-        if (type == ConfigDef.Type.STRING || type == ConfigDef.Type.PASSWORD
-                || type == ConfigDef.Type.CLASS) {
-            return convertValueToStringAndUnwrap(value);
-        }
-        if (type == ConfigDef.Type.LIST) {
-            // in case the value already in string joined with comma
-            if (value instanceof String) {
-                return (String) value;
-            }
-            return ((List<Object>) value)
-                    .stream()
-                    .map(this::convertValueToStringAndUnwrap)
-                    .collect(Collectors.joining(","));
-        }
-
-        return null;
-    }
-
-    private String convertValueToStringAndUnwrap(final Object defaultValue) {
-        if (defaultValue instanceof Class) {
-            return ((Class) defaultValue).getName();
-        }
-        return defaultValue.toString();
-    }
-
-    private String wrapString(final String value) {
-        return "\"" + value + "\"";
-    }
-
-    private String removeNonAsciiChars(final String text) {
-        return text.replaceAll("[^\\x00-\\x7F]", "");
-    }
-
-    private List<String> getValidStringFromValidator(final ConfigDef.Validator validator) {
-        if (validator instanceof ConfigDef.ValidString || validator instanceof ConfigDef.ValidList) {
-            // remove any '[', ']' or spaces
-            final String cleanedValidStrings = validator.toString()
-                    .replace("[", "")
-                    .replace("]", "")
-                    .replaceAll("\\s", "")
-                    .trim();
-
-            return Arrays.asList(cleanedValidStrings.split(",").clone());
-        }
-
-        return Collections.emptyList();
-    }
-
-    public static final class ConfigFieldBuilder {
-        private String name;
-        private String documentation;
-        private Object defaultValue;
-        private String variableName;
-        private ConfigDef.Importance importance;
-        private ConfigDef.Type type;
-        private ConfigDef.Validator validator;
-        private boolean isDeprecated;
-        private boolean isRequired;
-        private boolean isUriPathOption;
-        private boolean isInternal;
-        private final Set<String> labels = new LinkedHashSet<>();
... 1811 lines suppressed ...