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

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git


The following commit(s) were added to refs/heads/master by this push:
     new ace95d4  [create-pull-request] automated change
ace95d4 is described below

commit ace95d46427b7dc5a9872ee76e8f0f465e45ecb4
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Jan 25 01:13:04 2021 +0000

    [create-pull-request] automated change
---
 .../camel/springboot/catalog/components/kafka.json   |  1 +
 .../springboot/catalog/components/vertx-kafka.json   |  2 ++
 .../src/main/docs/kafka-starter.adoc                 |  3 ++-
 .../springboot/KafkaComponentConfiguration.java      | 20 ++++++++++++++++++++
 .../kafka/springboot/KafkaComponentConverter.java    |  2 ++
 .../src/main/docs/vertx-kafka-starter.adoc           |  3 ++-
 .../springboot/VertxKafkaComponentConfiguration.java | 19 +++++++++++++++++++
 .../springboot/VertxKafkaComponentConverter.java     |  2 ++
 docs/modules/ROOT/pages/kafka-starter.adoc           |  3 ++-
 docs/modules/ROOT/pages/vertx-kafka-starter.adoc     |  3 ++-
 10 files changed, 54 insertions(+), 4 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kafka.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kafka.json
index 311e2d7..ab26b6f 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kafka.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kafka.json
@@ -92,6 +92,7 @@
     "workerPoolCoreSize": { "kind": "property", "displayName": "Worker Pool 
Core Size", "group": "producer", "label": "producer", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing Exchange after  [...]
     "workerPoolMaxSize": { "kind": "property", "displayName": "Worker Pool Max 
Size", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "20", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Maximum number of threads for the worker pool 
for continue routing Exchange after [...]
     "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 [...]
+    "kafkaClientFactory": { "kind": "property", "displayName": "Kafka Client 
Factory", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "org.apache.camel.component.kafka.KafkaClientFactory", 
"deprecated": false, "autowired": false, "secret": false, "description": 
"Factory to use for creating org.apache.kafka.clients.consumer.KafkaConsumer 
and org.apache.kafka.clients.producer.KafkaProducer instances. This allows to 
configure a custom factory to c [...]
     "synchronous": { "kind": "property", "displayName": "Synchronous", 
"group": "advanced", "label": "advanced", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether synchronous processing should be 
strictly used" },
     "schemaRegistryURL": { "kind": "property", "displayName": "Schema Registry 
URL", "group": "confluent", "label": "confluent", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "URL of the Confluent Platform schema registry 
servers to use. The format is host1:port1,host2:port2. Thi [...]
     "interceptorClasses": { "kind": "property", "displayName": "Interceptor 
Classes", "group": "monitoring", "label": "common,monitoring", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets interceptors for producer or consumers. 
Producer interceptors have to be classes implemen [...]
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/vertx-kafka.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/vertx-kafka.json
index 734e9be..555123b 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/vertx-kafka.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/vertx-kafka.json
@@ -89,6 +89,7 @@
     "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": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "Factory to use for cre 
[...]
     "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 [...]
@@ -194,6 +195,7 @@
     "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  [...]
+    "vertxKafkaClientFactory": { "kind": "parameter", "displayName": "Vertx 
Kafka Client Factory", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "Factory to use for cr 
[...]
     "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." },
diff --git 
a/components-starter/camel-kafka-starter/src/main/docs/kafka-starter.adoc 
b/components-starter/camel-kafka-starter/src/main/docs/kafka-starter.adoc
index 9a031fc..447b47f 100644
--- a/components-starter/camel-kafka-starter/src/main/docs/kafka-starter.adoc
+++ b/components-starter/camel-kafka-starter/src/main/docs/kafka-starter.adoc
@@ -17,7 +17,7 @@ When using kafka with Spring Boot make sure to use the 
following Maven dependenc
 ----
 
 
-The component supports 99 options, which are listed below.
+The component supports 100 options, which are listed below.
 
 
 
@@ -54,6 +54,7 @@ The component supports 99 options, which are listed below.
 | *camel.component.kafka.header-serializer* | To use a custom 
KafkaHeaderSerializer to serialize kafka headers values. The option is a 
org.apache.camel.component.kafka.serde.KafkaHeaderSerializer type. |  | 
KafkaHeaderSerializer
 | *camel.component.kafka.heartbeat-interval-ms* | 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 session.timeout.ms, 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 [...]
 | *camel.component.kafka.interceptor-classes* | Sets interceptors for producer 
or consumers. Producer interceptors have to be classes implementing 
org.apache.kafka.clients.producer.ProducerInterceptor Consumer interceptors 
have to be classes implementing 
org.apache.kafka.clients.consumer.ConsumerInterceptor Note that if you use 
Producer interceptor on a consumer it will throw a class cast exception in 
runtime |  | String
+| *camel.component.kafka.kafka-client-factory* | Factory to use for creating 
org.apache.kafka.clients.consumer.KafkaConsumer and 
org.apache.kafka.clients.producer.KafkaProducer instances. This allows to 
configure a custom factory to create 
org.apache.kafka.clients.consumer.KafkaConsumer and 
org.apache.kafka.clients.producer.KafkaProducer instances with logic that 
extends the vanilla Kafka clients. The option is a 
org.apache.camel.component.kafka.KafkaClientFactory type. |  | 
KafkaClientFactory
 | *camel.component.kafka.kafka-manual-commit-factory* | Factory to use for 
creating KafkaManualCommit instances. This allows to plugin a custom factory to 
create custom KafkaManualCommit instances in case special logic is needed when 
doing manual commits that deviates from the default implementation that comes 
out of the box. The option is a 
org.apache.camel.component.kafka.KafkaManualCommitFactory type. |  | 
KafkaManualCommitFactory
 | *camel.component.kafka.kerberos-before-relogin-min-time* | Login thread 
sleep time between refresh attempts. | 60000 | Integer
 | *camel.component.kafka.kerberos-init-cmd* | Kerberos kinit command path. 
Default is /usr/bin/kinit | /usr/bin/kinit | String
diff --git 
a/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConfiguration.java
 
b/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConfiguration.java
index 734c49a..c65e52f 100644
--- 
a/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConfiguration.java
+++ 
b/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConfiguration.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.kafka.springboot;
 import java.util.Map;
 import java.util.concurrent.ExecutorService;
 import javax.annotation.Generated;
+import org.apache.camel.component.kafka.KafkaClientFactory;
 import org.apache.camel.component.kafka.KafkaConfiguration;
 import org.apache.camel.component.kafka.KafkaManualCommitFactory;
 import org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer;
@@ -540,6 +541,17 @@ public class KafkaComponentConfiguration
      */
     private Boolean autowiredEnabled = true;
     /**
+     * Factory to use for creating
+     * org.apache.kafka.clients.consumer.KafkaConsumer and
+     * org.apache.kafka.clients.producer.KafkaProducer instances. This allows 
to
+     * configure a custom factory to create
+     * org.apache.kafka.clients.consumer.KafkaConsumer and
+     * org.apache.kafka.clients.producer.KafkaProducer instances with logic 
that
+     * extends the vanilla Kafka clients. The option is a
+     * org.apache.camel.component.kafka.KafkaClientFactory type.
+     */
+    private KafkaClientFactory kafkaClientFactory;
+    /**
      * Sets whether synchronous processing should be strictly used
      */
     private Boolean synchronous = false;
@@ -1260,6 +1272,14 @@ public class KafkaComponentConfiguration
         this.autowiredEnabled = autowiredEnabled;
     }
 
+    public KafkaClientFactory getKafkaClientFactory() {
+        return kafkaClientFactory;
+    }
+
+    public void setKafkaClientFactory(KafkaClientFactory kafkaClientFactory) {
+        this.kafkaClientFactory = kafkaClientFactory;
+    }
+
     public Boolean getSynchronous() {
         return synchronous;
     }
diff --git 
a/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConverter.java
 
b/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConverter.java
index 289f358..1018ae6 100644
--- 
a/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConverter.java
+++ 
b/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConverter.java
@@ -46,6 +46,7 @@ public class KafkaComponentConverter
         answer.add(new ConvertiblePair(String.class, 
org.apache.camel.component.kafka.KafkaManualCommitFactory.class));
         answer.add(new ConvertiblePair(String.class, 
org.apache.camel.component.kafka.serde.KafkaHeaderSerializer.class));
         answer.add(new ConvertiblePair(String.class, 
java.util.concurrent.ExecutorService.class));
+        answer.add(new ConvertiblePair(String.class, 
org.apache.camel.component.kafka.KafkaClientFactory.class));
         answer.add(new ConvertiblePair(String.class, 
org.apache.camel.support.jsse.SSLContextParameters.class));
         return answer;
     }
@@ -70,6 +71,7 @@ public class KafkaComponentConverter
             case "org.apache.camel.component.kafka.KafkaManualCommitFactory": 
return camelContext.getRegistry().lookupByNameAndType(ref, 
org.apache.camel.component.kafka.KafkaManualCommitFactory.class);
             case 
"org.apache.camel.component.kafka.serde.KafkaHeaderSerializer": return 
camelContext.getRegistry().lookupByNameAndType(ref, 
org.apache.camel.component.kafka.serde.KafkaHeaderSerializer.class);
             case "java.util.concurrent.ExecutorService": return 
camelContext.getRegistry().lookupByNameAndType(ref, 
java.util.concurrent.ExecutorService.class);
+            case "org.apache.camel.component.kafka.KafkaClientFactory": return 
camelContext.getRegistry().lookupByNameAndType(ref, 
org.apache.camel.component.kafka.KafkaClientFactory.class);
             case "org.apache.camel.support.jsse.SSLContextParameters": return 
camelContext.getRegistry().lookupByNameAndType(ref, 
org.apache.camel.support.jsse.SSLContextParameters.class);
         }
         return null;
diff --git 
a/components-starter/camel-vertx-kafka-starter/src/main/docs/vertx-kafka-starter.adoc
 
b/components-starter/camel-vertx-kafka-starter/src/main/docs/vertx-kafka-starter.adoc
index 8de0c38..ff57de6 100644
--- 
a/components-starter/camel-vertx-kafka-starter/src/main/docs/vertx-kafka-starter.adoc
+++ 
b/components-starter/camel-vertx-kafka-starter/src/main/docs/vertx-kafka-starter.adoc
@@ -17,7 +17,7 @@ When using vertx-kafka with Spring Boot make sure to use the 
following Maven dep
 ----
 
 
-The component supports 104 options, which are listed below.
+The component supports 105 options, which are listed below.
 
 
 
@@ -127,6 +127,7 @@ The component supports 104 options, which are listed below.
 | *camel.component.vertx-kafka.value-deserializer* | Deserializer class for 
value that implements the org.apache.kafka.common.serialization.Deserializer 
interface. | org.apache.kafka.common.serialization.StringDeserializer | String
 | *camel.component.vertx-kafka.value-serializer* | Serializer class for value 
that implements the org.apache.kafka.common.serialization.Serializer interface. 
| org.apache.kafka.common.serialization.StringSerializer | String
 | *camel.component.vertx-kafka.vertx* | To use an existing vertx instead of 
creating a new instance. The option is a io.vertx.core.Vertx type. |  | Vertx
+| *camel.component.vertx-kafka.vertx-kafka-client-factory* | Factory to use 
for creating io.vertx.kafka.client.consumer.KafkaConsumer and 
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. The option 
is a org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory type. |  | 
VertxKafkaClientFactory
 | *camel.component.vertx-kafka.vertx-options* | To provide a custom set of 
vertx options for configuring vertx. The option is a io.vertx.core.VertxOptions 
type. |  | VertxOptions
 |===
 // spring-boot-auto-configure options: END
diff --git 
a/components-starter/camel-vertx-kafka-starter/src/main/java/org/apache/camel/component/vertx/kafka/springboot/VertxKafkaComponentConfiguration.java
 
b/components-starter/camel-vertx-kafka-starter/src/main/java/org/apache/camel/component/vertx/kafka/springboot/VertxKafkaComponentConfiguration.java
index d2c1215..eba4156 100644
--- 
a/components-starter/camel-vertx-kafka-starter/src/main/java/org/apache/camel/component/vertx/kafka/springboot/VertxKafkaComponentConfiguration.java
+++ 
b/components-starter/camel-vertx-kafka-starter/src/main/java/org/apache/camel/component/vertx/kafka/springboot/VertxKafkaComponentConfiguration.java
@@ -20,6 +20,7 @@ import java.util.Map;
 import javax.annotation.Generated;
 import io.vertx.core.Vertx;
 import io.vertx.core.VertxOptions;
+import org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory;
 import 
org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
@@ -617,6 +618,15 @@ public class VertxKafkaComponentConfiguration
      */
     private Vertx vertx;
     /**
+     * Factory to use for creating io.vertx.kafka.client.consumer.KafkaConsumer
+     * and 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. The option is a
+     * org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory type.
+     */
+    private VertxKafkaClientFactory vertxKafkaClientFactory;
+    /**
      * To provide a custom set of vertx options for configuring vertx. The
      * option is a io.vertx.core.VertxOptions type.
      */
@@ -1382,6 +1392,15 @@ public class VertxKafkaComponentConfiguration
         this.vertx = vertx;
     }
 
+    public VertxKafkaClientFactory getVertxKafkaClientFactory() {
+        return vertxKafkaClientFactory;
+    }
+
+    public void setVertxKafkaClientFactory(
+            VertxKafkaClientFactory vertxKafkaClientFactory) {
+        this.vertxKafkaClientFactory = vertxKafkaClientFactory;
+    }
+
     public VertxOptions getVertxOptions() {
         return vertxOptions;
     }
diff --git 
a/components-starter/camel-vertx-kafka-starter/src/main/java/org/apache/camel/component/vertx/kafka/springboot/VertxKafkaComponentConverter.java
 
b/components-starter/camel-vertx-kafka-starter/src/main/java/org/apache/camel/component/vertx/kafka/springboot/VertxKafkaComponentConverter.java
index 43a71b7..59df7a25 100644
--- 
a/components-starter/camel-vertx-kafka-starter/src/main/java/org/apache/camel/component/vertx/kafka/springboot/VertxKafkaComponentConverter.java
+++ 
b/components-starter/camel-vertx-kafka-starter/src/main/java/org/apache/camel/component/vertx/kafka/springboot/VertxKafkaComponentConverter.java
@@ -43,6 +43,7 @@ public class VertxKafkaComponentConverter
         answer.add(new ConvertiblePair(String.class, 
org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration.class));
         answer.add(new ConvertiblePair(String.class, 
org.apache.camel.spi.HeaderFilterStrategy.class));
         answer.add(new ConvertiblePair(String.class, 
io.vertx.core.Vertx.class));
+        answer.add(new ConvertiblePair(String.class, 
org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory.class));
         answer.add(new ConvertiblePair(String.class, 
io.vertx.core.VertxOptions.class));
         return answer;
     }
@@ -63,6 +64,7 @@ public class VertxKafkaComponentConverter
             case 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration": 
return camelContext.getRegistry().lookupByNameAndType(ref, 
org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration.class);
             case "org.apache.camel.spi.HeaderFilterStrategy": return 
camelContext.getRegistry().lookupByNameAndType(ref, 
org.apache.camel.spi.HeaderFilterStrategy.class);
             case "io.vertx.core.Vertx": return 
camelContext.getRegistry().lookupByNameAndType(ref, io.vertx.core.Vertx.class);
+            case 
"org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory": return 
camelContext.getRegistry().lookupByNameAndType(ref, 
org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory.class);
             case "io.vertx.core.VertxOptions": return 
camelContext.getRegistry().lookupByNameAndType(ref, 
io.vertx.core.VertxOptions.class);
         }
         return null;
diff --git a/docs/modules/ROOT/pages/kafka-starter.adoc 
b/docs/modules/ROOT/pages/kafka-starter.adoc
index 9a031fc..447b47f 100644
--- a/docs/modules/ROOT/pages/kafka-starter.adoc
+++ b/docs/modules/ROOT/pages/kafka-starter.adoc
@@ -17,7 +17,7 @@ When using kafka with Spring Boot make sure to use the 
following Maven dependenc
 ----
 
 
-The component supports 99 options, which are listed below.
+The component supports 100 options, which are listed below.
 
 
 
@@ -54,6 +54,7 @@ The component supports 99 options, which are listed below.
 | *camel.component.kafka.header-serializer* | To use a custom 
KafkaHeaderSerializer to serialize kafka headers values. The option is a 
org.apache.camel.component.kafka.serde.KafkaHeaderSerializer type. |  | 
KafkaHeaderSerializer
 | *camel.component.kafka.heartbeat-interval-ms* | 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 session.timeout.ms, 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 [...]
 | *camel.component.kafka.interceptor-classes* | Sets interceptors for producer 
or consumers. Producer interceptors have to be classes implementing 
org.apache.kafka.clients.producer.ProducerInterceptor Consumer interceptors 
have to be classes implementing 
org.apache.kafka.clients.consumer.ConsumerInterceptor Note that if you use 
Producer interceptor on a consumer it will throw a class cast exception in 
runtime |  | String
+| *camel.component.kafka.kafka-client-factory* | Factory to use for creating 
org.apache.kafka.clients.consumer.KafkaConsumer and 
org.apache.kafka.clients.producer.KafkaProducer instances. This allows to 
configure a custom factory to create 
org.apache.kafka.clients.consumer.KafkaConsumer and 
org.apache.kafka.clients.producer.KafkaProducer instances with logic that 
extends the vanilla Kafka clients. The option is a 
org.apache.camel.component.kafka.KafkaClientFactory type. |  | 
KafkaClientFactory
 | *camel.component.kafka.kafka-manual-commit-factory* | Factory to use for 
creating KafkaManualCommit instances. This allows to plugin a custom factory to 
create custom KafkaManualCommit instances in case special logic is needed when 
doing manual commits that deviates from the default implementation that comes 
out of the box. The option is a 
org.apache.camel.component.kafka.KafkaManualCommitFactory type. |  | 
KafkaManualCommitFactory
 | *camel.component.kafka.kerberos-before-relogin-min-time* | Login thread 
sleep time between refresh attempts. | 60000 | Integer
 | *camel.component.kafka.kerberos-init-cmd* | Kerberos kinit command path. 
Default is /usr/bin/kinit | /usr/bin/kinit | String
diff --git a/docs/modules/ROOT/pages/vertx-kafka-starter.adoc 
b/docs/modules/ROOT/pages/vertx-kafka-starter.adoc
index 8de0c38..ff57de6 100644
--- a/docs/modules/ROOT/pages/vertx-kafka-starter.adoc
+++ b/docs/modules/ROOT/pages/vertx-kafka-starter.adoc
@@ -17,7 +17,7 @@ When using vertx-kafka with Spring Boot make sure to use the 
following Maven dep
 ----
 
 
-The component supports 104 options, which are listed below.
+The component supports 105 options, which are listed below.
 
 
 
@@ -127,6 +127,7 @@ The component supports 104 options, which are listed below.
 | *camel.component.vertx-kafka.value-deserializer* | Deserializer class for 
value that implements the org.apache.kafka.common.serialization.Deserializer 
interface. | org.apache.kafka.common.serialization.StringDeserializer | String
 | *camel.component.vertx-kafka.value-serializer* | Serializer class for value 
that implements the org.apache.kafka.common.serialization.Serializer interface. 
| org.apache.kafka.common.serialization.StringSerializer | String
 | *camel.component.vertx-kafka.vertx* | To use an existing vertx instead of 
creating a new instance. The option is a io.vertx.core.Vertx type. |  | Vertx
+| *camel.component.vertx-kafka.vertx-kafka-client-factory* | Factory to use 
for creating io.vertx.kafka.client.consumer.KafkaConsumer and 
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. The option 
is a org.apache.camel.component.vertx.kafka.VertxKafkaClientFactory type. |  | 
VertxKafkaClientFactory
 | *camel.component.vertx-kafka.vertx-options* | To provide a custom set of 
vertx options for configuring vertx. The option is a io.vertx.core.VertxOptions 
type. |  | VertxOptions
 |===
 // spring-boot-auto-configure options: END

Reply via email to