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

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


The following commit(s) were added to refs/heads/main by this push:
     new b21bd29  CAMEL-17284: upgrade Kafka clients to 3.1.0
b21bd29 is described below

commit b21bd29172750ff4a0dfe7b32f969589df5a3a79
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Jan 27 14:02:17 2022 +0100

    CAMEL-17284: upgrade Kafka clients to 3.1.0
---
 .../springboot/catalog/components/vertx-kafka.json |  64 +++--
 .../src/main/docs/vertx-kafka.json                 | 114 +++++++-
 .../VertxKafkaComponentConfiguration.java          | 311 +++++++++++++++++++--
 3 files changed, 439 insertions(+), 50 deletions(-)

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 59c4938..17f5bdd 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
@@ -24,7 +24,7 @@
   "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": " [...]
+    "clientDnsLookup": { "kind": "property", "displayName": "Client Dns 
Lookup", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "enum": [ "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": "configurati [...]
     "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  [...]
@@ -65,26 +65,26 @@
     "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 [...]
+    "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,org.apache.kafka.clients.consumer.CooperativeStickyAssignor",
 "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfi [...]
     "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 [...]
+    "sessionTimeoutMs": { "kind": "property", "displayName": "Session Timeout 
Ms", "group": "consumer", "label": "consumer", "required": false, "type": 
"duration", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "45s", "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 [...]
+    "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": "all", 
"configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The number of 
acknowledgments the producer requires [...]
+    "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  [...]
+    "enableIdempotence": { "kind": "property", "displayName": "Enable 
Idempotence", "group": "producer", "label": "producer", "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": "When set to 'true', the 
producer will ensure that exactly one copy o [...]
     "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 [...]
+    "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 [...]
+    "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 [...]
+    "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": "A  [...]
     "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 [...]
@@ -102,11 +102,25 @@
     "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 [...]
+    "saslLoginConnectTimeoutMs": { "kind": "property", "displayName": "Sasl 
Login Connect Timeout Ms", "group": "security", "label": "common,security", 
"required": false, "type": "duration", "javaType": "java.lang.Integer", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The (optional) value in 
milliseconds for the external [...]
+    "saslLoginReadTimeoutMs": { "kind": "property", "displayName": "Sasl Login 
Read Timeout Ms", "group": "security", "label": "common,security", "required": 
false, "type": "duration", "javaType": "java.lang.Integer", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The (optional) value in 
milliseconds for the external authe [...]
     "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 [...]
+    "saslLoginRetryBackoffMaxMs": { "kind": "property", "displayName": "Sasl 
Login Retry Backoff Max Ms", "group": "security", "label": "common,security", 
"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 (optional) value in 
milliseconds for [...]
+    "saslLoginRetryBackoffMs": { "kind": "property", "displayName": "Sasl 
Login Retry Backoff Ms", "group": "security", "label": "common,security", 
"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 (optional) value in 
milliseconds for the  [...]
     "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 [...]
+    "saslOauthbearerClockSkewSeconds": { "kind": "property", "displayName": 
"Sasl Oauthbearer Clock Skew Seconds", "group": "security", "label": 
"common,security", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 30, 
"configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The (optional) value in 
seconds to a [...]
+    "saslOauthbearerExpectedAudience": { "kind": "property", "displayName": 
"Sasl Oauthbearer Expected Audience", "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 (optional) 
comma-delimited setting for th [...]
+    "saslOauthbearerExpectedIssuer": { "kind": "property", "displayName": 
"Sasl Oauthbearer Expected Issuer", "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 (optional) setting 
for the broker to use to v [...]
+    "saslOauthbearerJwksEndpointRefreshMs": { "kind": "property", 
"displayName": "Sasl Oauthbearer Jwks Endpoint Refresh Ms", "group": 
"security", "label": "common,security", "required": false, "type": "duration", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "1h", "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The (optional) value  
[...]
+    "saslOauthbearerJwksEndpointRetryBackoffMaxMs": { "kind": "property", 
"displayName": "Sasl Oauthbearer Jwks Endpoint Retry Backoff Max Ms", "group": 
"security", "label": "common,security", "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": "Th [...]
+    "saslOauthbearerJwksEndpointRetryBackoffMs": { "kind": "property", 
"displayName": "Sasl Oauthbearer Jwks Endpoint Retry Backoff Ms", "group": 
"security", "label": "common,security", "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 (op [...]
+    "saslOauthbearerJwksEndpointUrl": { "kind": "property", "displayName": 
"Sasl Oauthbearer Jwks Endpoint Url", "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 OAuth\/OIDC provider 
URL from which the pr [...]
+    "saslOauthbearerScopeClaimName": { "kind": "property", "displayName": 
"Sasl Oauthbearer Scope Claim Name", "group": "security", "label": 
"common,security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "scope", "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The OAuth claim for the 
[...]
+    "saslOauthbearerSubClaimName": { "kind": "property", "displayName": "Sasl 
Oauthbearer Sub Claim Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"sub", "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The OAuth claim for the 
subje [...]
+    "saslOauthbearerTokenEndpointUrl": { "kind": "property", "displayName": 
"Sasl Oauthbearer Token Endpoint Url", "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 URL for the 
OAuth\/OIDC identity provide [...]
     "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 [...]
@@ -133,7 +147,7 @@
     "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":  [...]
+    "clientDnsLookup": { "kind": "parameter", "displayName": "Client Dns 
Lookup", "group": "common", "label": "common", "required": false, "type": 
"string", "javaType": "java.lang.String", "enum": [ "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": "configurat [...]
     "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 [...]
@@ -173,27 +187,27 @@
     "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 [...]
+    "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,org.apache.kafka.clients.consumer.CooperativeStickyAssignor",
 "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConf [...]
     "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 [...]
+    "sessionTimeoutMs": { "kind": "parameter", "displayName": "Session Timeout 
Ms", "group": "consumer", "label": "consumer", "required": false, "type": 
"duration", "javaType": "int", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "45s", "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 [...]
     "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 [...]
+    "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": "all", 
"configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The number of 
acknowledgments the producer require [...]
+    "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 [...]
+    "enableIdempotence": { "kind": "parameter", "displayName": "Enable 
Idempotence", "group": "producer", "label": "producer", "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": "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 [...]
     "lazyStartProducer": { "kind": "parameter", "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 sta [...]
-    "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  [...]
+    "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 [...]
+    "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 [...]
+    "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": "A [...]
     "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 [...]
@@ -207,11 +221,25 @@
     "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 [...]
+    "saslLoginConnectTimeoutMs": { "kind": "parameter", "displayName": "Sasl 
Login Connect Timeout Ms", "group": "security", "label": "common,security", 
"required": false, "type": "duration", "javaType": "java.lang.Integer", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The (optional) value in 
milliseconds for the externa [...]
+    "saslLoginReadTimeoutMs": { "kind": "parameter", "displayName": "Sasl 
Login Read Timeout Ms", "group": "security", "label": "common,security", 
"required": false, "type": "duration", "javaType": "java.lang.Integer", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The (optional) value in 
milliseconds for the external auth [...]
     "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 [...]
+    "saslLoginRetryBackoffMaxMs": { "kind": "parameter", "displayName": "Sasl 
Login Retry Backoff Max Ms", "group": "security", "label": "common,security", 
"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 (optional) value in 
milliseconds fo [...]
+    "saslLoginRetryBackoffMs": { "kind": "parameter", "displayName": "Sasl 
Login Retry Backoff Ms", "group": "security", "label": "common,security", 
"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 (optional) value in 
milliseconds for the [...]
     "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  [...]
+    "saslOauthbearerClockSkewSeconds": { "kind": "parameter", "displayName": 
"Sasl Oauthbearer Clock Skew Seconds", "group": "security", "label": 
"common,security", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 30, 
"configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The (optional) value in 
seconds to  [...]
+    "saslOauthbearerExpectedAudience": { "kind": "parameter", "displayName": 
"Sasl Oauthbearer Expected Audience", "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 (optional) 
comma-delimited setting for t [...]
+    "saslOauthbearerExpectedIssuer": { "kind": "parameter", "displayName": 
"Sasl Oauthbearer Expected Issuer", "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 (optional) setting 
for the broker to use to  [...]
+    "saslOauthbearerJwksEndpointRefreshMs": { "kind": "parameter", 
"displayName": "Sasl Oauthbearer Jwks Endpoint Refresh Ms", "group": 
"security", "label": "common,security", "required": false, "type": "duration", 
"javaType": "long", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "1h", "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The (optional) value 
[...]
+    "saslOauthbearerJwksEndpointRetryBackoffMaxMs": { "kind": "parameter", 
"displayName": "Sasl Oauthbearer Jwks Endpoint Retry Backoff Max Ms", "group": 
"security", "label": "common,security", "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": "T [...]
+    "saslOauthbearerJwksEndpointRetryBackoffMs": { "kind": "parameter", 
"displayName": "Sasl Oauthbearer Jwks Endpoint Retry Backoff Ms", "group": 
"security", "label": "common,security", "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 (o [...]
+    "saslOauthbearerJwksEndpointUrl": { "kind": "parameter", "displayName": 
"Sasl Oauthbearer Jwks Endpoint Url", "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 OAuth\/OIDC provider 
URL from which the p [...]
+    "saslOauthbearerScopeClaimName": { "kind": "parameter", "displayName": 
"Sasl Oauthbearer Scope Claim Name", "group": "security", "label": 
"common,security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "scope", "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The OAuth claim for th 
[...]
+    "saslOauthbearerSubClaimName": { "kind": "parameter", "displayName": "Sasl 
Oauthbearer Sub Claim Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"sub", "configurationClass": 
"org.apache.camel.component.vertx.kafka.configuration.VertxKafkaConfiguration", 
"configurationField": "configuration", "description": "The OAuth claim for the 
subj [...]
+    "saslOauthbearerTokenEndpointUrl": { "kind": "parameter", "displayName": 
"Sasl Oauthbearer Token Endpoint Url", "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 URL for the 
OAuth\/OIDC identity provid [...]
     "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 [...]
diff --git 
a/components-starter/camel-vertx-kafka-starter/src/main/docs/vertx-kafka.json 
b/components-starter/camel-vertx-kafka-starter/src/main/docs/vertx-kafka.json
index 62a6c51..3f6a262 100644
--- 
a/components-starter/camel-vertx-kafka-starter/src/main/docs/vertx-kafka.json
+++ 
b/components-starter/camel-vertx-kafka-starter/src/main/docs/vertx-kafka.json
@@ -18,7 +18,7 @@
       "type": "java.lang.String",
       "description": "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: 
acks=0 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, a [...]
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
-      "defaultValue": "1"
+      "defaultValue": "all"
     },
     {
       "name": "camel.component.vertx-kafka.additional-properties",
@@ -64,7 +64,7 @@
     {
       "name": "camel.component.vertx-kafka.batch-size",
       "type": "java.lang.Integer",
-      "description": "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. No attempt will be made to batch 
records larger than this size. Requests sent to brokers will contain multiple 
batches, one for each partition with data available to be sent. A small batch 
size will make batching le [...]
+      "description": "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. No attempt will be made to batch 
records larger than this size. Requests sent to brokers will contain multiple 
batches, one for each partition with data available to be sent. A small batch 
size will make batching le [...]
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
       "defaultValue": 16384
     },
@@ -98,7 +98,7 @@
     {
       "name": "camel.component.vertx-kafka.client-dns-lookup",
       "type": "java.lang.String",
-      "description": "Controls how the client uses DNS lookups. If set to 
use_all_dns_ips, 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 resolve_canonical_bootstrap_servers_only, resolve each bootstrap address 
into a list of canonical names. A [...]
+      "description": "Controls how the client uses DNS lookups. If set to 
use_all_dns_ips, 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 resolve_canonical_bootstrap_servers_only, resolve each bootstrap address 
into a list of canonical names. A [...]
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
       "defaultValue": "use_all_dns_ips"
     },
@@ -163,9 +163,9 @@
     {
       "name": "camel.component.vertx-kafka.enable-idempotence",
       "type": "java.lang.Boolean",
-      "description": "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 
max.in.flight.requests.per.connection to be less than or equal to 5, retries to 
be greater than 0 and acks must be 'all'. If these values are not explicitly 
set by the user, suitable values will be chose [...]
+      "description": "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 
max.in.flight.requests.per.connection to be less than or equal to 5 (with 
message ordering preserved for any allowable value), retries to be greater than 
0, and acks must be 'all'. If these values are no [...]
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
-      "defaultValue": false
+      "defaultValue": true
     },
     {
       "name": "camel.component.vertx-kafka.enabled",
@@ -269,7 +269,7 @@
     {
       "name": "camel.component.vertx-kafka.linger-ms",
       "type": "java.lang.Long",
-      "description": "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 [...]
+      "description": "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 wil [...]
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
       "defaultValue": 0
     },
@@ -283,7 +283,7 @@
     {
       "name": 
"camel.component.vertx-kafka.max-in-flight-requests-per-connection",
       "type": "java.lang.Integer",
-      "description": "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).",
+      "description": "The maximum number of unacknowledged requests the client 
will send on a single connection before blocking. Note that if this config is 
set to be greater than 1 and enable.idempotence is set to false, there is a 
risk of message re-ordering after a failed send due to retries (i.e., if 
retries are enabled).",
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
       "defaultValue": 5
     },
@@ -359,9 +359,9 @@
     {
       "name": "camel.component.vertx-kafka.partition-assignment-strategy",
       "type": "java.lang.String",
-      "description": "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:org.apache.kafka.clients.consumer.RangeAssignor: The default assignor, 
which works on a per-topic 
basis.org.apache.kafka.clients.consumer.RoundRobinAssignor: Assigns partitions 
to consumers in a round-robin fashion.org.apache [...]
+      "description": "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:org.apache.kafka.clients.consumer.RangeAssignor: Assigns partitions on a 
per-topic basis.org.apache.kafka.clients.consumer.RoundRobinAssignor: Assigns 
partitions to consumers in a round-robin fashion.org.apache.kafka.clients. [...]
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
-      "defaultValue": "org.apache.kafka.clients.consumer.RangeAssignor"
+      "defaultValue": 
"org.apache.kafka.clients.consumer.RangeAssignor,org.apache.kafka.clients.consumer.CooperativeStickyAssignor"
     },
     {
       "name": "camel.component.vertx-kafka.partition-id",
@@ -372,7 +372,7 @@
     {
       "name": "camel.component.vertx-kafka.partitioner-class",
       "type": "java.lang.String",
-      "description": "Partitioner class that implements the 
org.apache.kafka.clients.producer.Partitioner interface.",
+      "description": "A class to use to determine which partition to be send 
to when produce the records. Available options 
are:org.apache.kafka.clients.producer.internals.DefaultPartitioner: The default 
partitioner. This strategy will try sticking to a partition until the batch is 
full, or linger.ms is up. It works with the strategy:If no partition is 
specified but a key is present, choose a partition based on a hash of the keyIf 
no partition or key is present, choose the sticky partiti [...]
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
       "defaultValue": 
"org.apache.kafka.clients.producer.internals.DefaultPartitioner"
     },
@@ -475,6 +475,18 @@
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration"
     },
     {
+      "name": "camel.component.vertx-kafka.sasl-login-connect-timeout-ms",
+      "type": "java.lang.Integer",
+      "description": "The (optional) value in milliseconds for the external 
authentication provider connection timeout. Currently applies only to 
OAUTHBEARER. The option is a java.lang.Integer type.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration"
+    },
+    {
+      "name": "camel.component.vertx-kafka.sasl-login-read-timeout-ms",
+      "type": "java.lang.Integer",
+      "description": "The (optional) value in milliseconds for the external 
authentication provider read timeout. Currently applies only to OAUTHBEARER. 
The option is a java.lang.Integer type.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration"
+    },
+    {
       "name": "camel.component.vertx-kafka.sasl-login-refresh-buffer-seconds",
       "type": "java.lang.Short",
       "description": "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  [...]
@@ -501,6 +513,20 @@
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration"
     },
     {
+      "name": "camel.component.vertx-kafka.sasl-login-retry-backoff-max-ms",
+      "type": "java.lang.Long",
+      "description": "The (optional) value in milliseconds for the maximum 
wait between login attempts to the external authentication provider. Login uses 
an exponential backoff algorithm with an initial wait based on the 
sasl.login.retry.backoff.ms setting and will double in wait length between 
attempts up to a maximum wait length specified by the 
sasl.login.retry.backoff.max.ms setting. Currently applies only to OAUTHBEARER. 
The option is a long type.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
+      "defaultValue": 10000
+    },
+    {
+      "name": "camel.component.vertx-kafka.sasl-login-retry-backoff-ms",
+      "type": "java.lang.Long",
+      "description": "The (optional) value in milliseconds for the initial 
wait between login attempts to the external authentication provider. Login uses 
an exponential backoff algorithm with an initial wait based on the 
sasl.login.retry.backoff.ms setting and will double in wait length between 
attempts up to a maximum wait length specified by the 
sasl.login.retry.backoff.max.ms setting. Currently applies only to OAUTHBEARER. 
The option is a long type.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
+      "defaultValue": 100
+    },
+    {
       "name": "camel.component.vertx-kafka.sasl-mechanism",
       "type": "java.lang.String",
       "description": "SASL mechanism used for client connections. This may be 
any mechanism for which a security provider is available. GSSAPI is the default 
mechanism.",
@@ -508,6 +534,72 @@
       "defaultValue": "GSSAPI"
     },
     {
+      "name": 
"camel.component.vertx-kafka.sasl-oauthbearer-clock-skew-seconds",
+      "type": "java.lang.Integer",
+      "description": "The (optional) value in seconds to allow for differences 
between the time of the OAuth\/OIDC identity provider and the broker.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
+      "defaultValue": 30
+    },
+    {
+      "name": "camel.component.vertx-kafka.sasl-oauthbearer-expected-audience",
+      "type": "java.lang.String",
+      "description": "The (optional) comma-delimited setting for the broker to 
use to verify that the JWT was issued for one of the expected audiences. The 
JWT will be inspected for the standard OAuth aud claim and if this value is 
set, the broker will match the value from JWT's aud claim to see if there is an 
exact match. If there is no match, the broker will reject the JWT and 
authentication will fail.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration"
+    },
+    {
+      "name": "camel.component.vertx-kafka.sasl-oauthbearer-expected-issuer",
+      "type": "java.lang.String",
+      "description": "The (optional) setting for the broker to use to verify 
that the JWT was created by the expected issuer. The JWT will be inspected for 
the standard OAuth iss claim and if this value is set, the broker will match it 
exactly against what is in the JWT's iss claim. If there is no match, the 
broker will reject the JWT and authentication will fail.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration"
+    },
+    {
+      "name": 
"camel.component.vertx-kafka.sasl-oauthbearer-jwks-endpoint-refresh-ms",
+      "type": "java.lang.Long",
+      "description": "The (optional) value in milliseconds for the broker to 
wait between refreshing its JWKS (JSON Web Key Set) cache that contains the 
keys to verify the signature of the JWT. The option is a long type.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
+      "defaultValue": 3600000
+    },
+    {
+      "name": 
"camel.component.vertx-kafka.sasl-oauthbearer-jwks-endpoint-retry-backoff-max-ms",
+      "type": "java.lang.Long",
+      "description": "The (optional) value in milliseconds for the maximum 
wait between attempts to retrieve the JWKS (JSON Web Key Set) from the external 
authentication provider. JWKS retrieval uses an exponential backoff algorithm 
with an initial wait based on the 
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms setting and will double in wait 
length between attempts up to a maximum wait length specified by the 
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms setting. The option is a 
[...]
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
+      "defaultValue": 10000
+    },
+    {
+      "name": 
"camel.component.vertx-kafka.sasl-oauthbearer-jwks-endpoint-retry-backoff-ms",
+      "type": "java.lang.Long",
+      "description": "The (optional) value in milliseconds for the initial 
wait between JWKS (JSON Web Key Set) retrieval attempts from the external 
authentication provider. JWKS retrieval uses an exponential backoff algorithm 
with an initial wait based on the 
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms setting and will double in wait 
length between attempts up to a maximum wait length specified by the 
sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms setting. The option is a 
long type.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
+      "defaultValue": 100
+    },
+    {
+      "name": "camel.component.vertx-kafka.sasl-oauthbearer-jwks-endpoint-url",
+      "type": "java.lang.String",
+      "description": "The OAuth\/OIDC provider URL from which the provider's 
JWKS (JSON Web Key Set) can be retrieved. The URL can be HTTP(S)-based or 
file-based. If the URL is HTTP(S)-based, the JWKS data will be retrieved from 
the OAuth\/OIDC provider via the configured URL on broker startup. All 
then-current keys will be cached on the broker for incoming requests. If an 
authentication request is received for a JWT that includes a kid header claim 
value that isn't yet in the cache, the [...]
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration"
+    },
+    {
+      "name": "camel.component.vertx-kafka.sasl-oauthbearer-scope-claim-name",
+      "type": "java.lang.String",
+      "description": "The OAuth claim for the scope is often named scope, but 
this (optional) setting can provide a different name to use for the scope 
included in the JWT payload's claims if the OAuth\/OIDC provider uses a 
different name for that claim.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
+      "defaultValue": "scope"
+    },
+    {
+      "name": "camel.component.vertx-kafka.sasl-oauthbearer-sub-claim-name",
+      "type": "java.lang.String",
+      "description": "The OAuth claim for the subject is often named sub, but 
this (optional) setting can provide a different name to use for the subject 
included in the JWT payload's claims if the OAuth\/OIDC provider uses a 
different name for that claim.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
+      "defaultValue": "sub"
+    },
+    {
+      "name": 
"camel.component.vertx-kafka.sasl-oauthbearer-token-endpoint-url",
+      "type": "java.lang.String",
+      "description": "The URL for the OAuth\/OIDC identity provider. If the 
URL is HTTP(S)-based, it is the issuer's token endpoint URL to which requests 
will be made to login based on the configuration in sasl.jaas.config. If the 
URL is file-based, it specifies a file containing an access token (in JWT 
serialized form) issued by the OAuth\/OIDC identity provider to use for 
authorization.",
+      "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration"
+    },
+    {
       "name": "camel.component.vertx-kafka.security-protocol",
       "type": "java.lang.String",
       "description": "Protocol used to communicate with brokers. Valid values 
are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.",
@@ -544,7 +636,7 @@
       "type": "java.lang.Integer",
       "description": "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 
group.min.session.timeout.ms and gro [...]
       "sourceType": 
"org.apache.camel.component.vertx.kafka.springboot.VertxKafkaComponentConfiguration",
-      "defaultValue": 10000
+      "defaultValue": 45000
     },
     {
       "name": 
"camel.component.vertx-kafka.socket-connection-setup-timeout-max-ms",
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 9ac4f10..841d591 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
@@ -72,9 +72,7 @@ public class VertxKafkaComponentConfiguration
      * hostname again (both the JVM and the OS cache DNS name lookups, 
however).
      * If set to resolve_canonical_bootstrap_servers_only, resolve each
      * bootstrap address into a list of canonical names. After the bootstrap
-     * phase, this behaves the same as use_all_dns_ips. If set to default
-     * (deprecated), attempt to connect to the first IP address returned by the
-     * lookup, even if the lookup returns multiple IP addresses.
+     * phase, this behaves the same as use_all_dns_ips.
      */
     private String clientDnsLookup = "use_all_dns_ips";
     /**
@@ -386,8 +384,8 @@ public class VertxKafkaComponentConfiguration
      * partition assignment strategies that the client will use to distribute
      * partition ownership amongst consumer instances when group management is
      * used. Available options
-     * are:org.apache.kafka.clients.consumer.RangeAssignor: The default
-     * assignor, which works on a per-topic
+     * are:org.apache.kafka.clients.consumer.RangeAssignor: Assigns partitions
+     * on a per-topic
      * basis.org.apache.kafka.clients.consumer.RoundRobinAssignor: Assigns
      * partitions to consumers in a round-robin
      * fashion.org.apache.kafka.clients.consumer.StickyAssignor: Guarantees an
@@ -395,11 +393,14 @@ public class VertxKafkaComponentConfiguration
      * partition assignments as
      * possible.org.apache.kafka.clients.consumer.CooperativeStickyAssignor:
      * Follows the same StickyAssignor logic, but allows for cooperative
-     * rebalancing.Implementing the
-     * org.apache.kafka.clients.consumer.ConsumerPartitionAssignor interface
+     * rebalancing.The default assignor is RangeAssignor,
+     * CooperativeStickyAssignor, which will use the RangeAssignor by default,
+     * but allows upgrading to the CooperativeStickyAssignor with just a single
+     * rolling bounce that removes the RangeAssignor from the list.Implementing
+     * the org.apache.kafka.clients.consumer.ConsumerPartitionAssignor 
interface
      * allows you to plug in a custom assignment strategy.
      */
-    private String partitionAssignmentStrategy = 
"org.apache.kafka.clients.consumer.RangeAssignor";
+    private String partitionAssignmentStrategy = 
"org.apache.kafka.clients.consumer.RangeAssignor,org.apache.kafka.clients.consumer.CooperativeStickyAssignor";
     /**
      * Set if KafkaConsumer will read from a particular offset on startup. This
      * config will take precedence over seekTo config
@@ -420,7 +421,7 @@ public class VertxKafkaComponentConfiguration
      * configuration by group.min.session.timeout.ms and
      * group.max.session.timeout.ms. The option is a int type.
      */
-    private Integer sessionTimeoutMs = 10000;
+    private Integer sessionTimeoutMs = 45000;
     /**
      * Deserializer class for value that implements the
      * org.apache.kafka.common.serialization.Deserializer interface.
@@ -457,7 +458,7 @@ public class VertxKafkaComponentConfiguration
      * remains alive. This is the strongest available guarantee. This is
      * equivalent to the acks=-1 setting.
      */
-    private String acks = "1";
+    private String acks = "all";
     /**
      * The producer will attempt to batch records together into fewer requests
      * whenever multiple records are being sent to the same partition. This
@@ -469,7 +470,12 @@ public class VertxKafkaComponentConfiguration
      * 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.
+     * additional records.Note: This setting gives the upper bound of the batch
+     * size to be sent. If we have fewer than this many bytes accumulated for
+     * this partition, we will 'linger' for the linger.ms time waiting for more
+     * records to show up. This linger.ms setting defaults to 0, which means
+     * we'll immediately send out a record even the accumulated batch size is
+     * under this batch.size setting.
      */
     private Integer batchSize = 16384;
     /**
@@ -509,12 +515,13 @@ public class VertxKafkaComponentConfiguration
      * 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
-     * max.in.flight.requests.per.connection to be less than or equal to 5,
-     * retries to be greater than 0 and acks must be 'all'. If these values are
-     * not explicitly set by the user, suitable values will be chosen. If
+     * max.in.flight.requests.per.connection to be less than or equal to 5 
(with
+     * message ordering preserved for any allowable value), retries to be
+     * greater than 0, and acks must be 'all'. If these values are not
+     * explicitly set by the user, suitable values will be chosen. If
      * incompatible values are set, a ConfigException will be thrown.
      */
-    private Boolean enableIdempotence = false;
+    private Boolean enableIdempotence = true;
     /**
      * Serializer class for key that implements the
      * org.apache.kafka.common.serialization.Serializer interface.
@@ -538,7 +545,7 @@ public class VertxKafkaComponentConfiguration
      * 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
+     * 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
@@ -567,9 +574,10 @@ public class VertxKafkaComponentConfiguration
     private Long maxBlockMs = 60000L;
     /**
      * 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).
+     * single connection before blocking. Note that if this config is set to be
+     * greater than 1 and enable.idempotence is set to false, there is a risk 
of
+     * message re-ordering after a failed send due to retries (i.e., if retries
+     * are enabled).
      */
     private Integer maxInFlightRequestsPerConnection = 5;
     /**
@@ -590,8 +598,25 @@ public class VertxKafkaComponentConfiguration
      */
     private Long metadataMaxIdleMs = 300000L;
     /**
-     * Partitioner class that implements the
-     * org.apache.kafka.clients.producer.Partitioner interface.
+     * A class to use to determine which partition to be send to when produce
+     * the records. Available options
+     * are:org.apache.kafka.clients.producer.internals.DefaultPartitioner: The
+     * default partitioner. This strategy will try sticking to a partition 
until
+     * the batch is full, or linger.ms is up. It works with the strategy:If no
+     * partition is specified but a key is present, choose a partition based on
+     * a hash of the keyIf no partition or key is present, choose the sticky
+     * partition that changes when the batch is full, or linger.ms is
+     * up.org.apache.kafka.clients.producer.RoundRobinPartitioner: This
+     * partitioning strategy is that each record in a series of consecutive
+     * records will be sent to a different partition(no matter if the 'key' is
+     * provided or not), until we run out of partitions and start over again.
+     * Note: There's a known issue that will cause uneven distribution when new
+     * batch is created. Please check KAFKA-9965 for more
+     * detail.org.apache.kafka.clients.producer.UniformStickyPartitioner: This
+     * partitioning strategy will try sticking to a partition(no matter if the
+     * 'key' is provided or not) until the batch is full, or linger.ms is
+     * up.Implementing the org.apache.kafka.clients.producer.Partitioner
+     * interface allows you to plug in a custom partitioner.
      */
     private String partitionerClass = 
"org.apache.kafka.clients.producer.internals.DefaultPartitioner";
     /**
@@ -719,6 +744,18 @@ public class VertxKafkaComponentConfiguration
      */
     private String saslLoginClass;
     /**
+     * The (optional) value in milliseconds for the external authentication
+     * provider connection timeout. Currently applies only to OAUTHBEARER. The
+     * option is a java.lang.Integer type.
+     */
+    private Integer saslLoginConnectTimeoutMs;
+    /**
+     * The (optional) value in milliseconds for the external authentication
+     * provider read timeout. Currently applies only to OAUTHBEARER. The option
+     * is a java.lang.Integer type.
+     */
+    private Integer saslLoginReadTimeoutMs;
+    /**
      * 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
@@ -755,11 +792,121 @@ public class VertxKafkaComponentConfiguration
      */
     private Double saslLoginRefreshWindowJitter;
     /**
+     * The (optional) value in milliseconds for the maximum wait between login
+     * attempts to the external authentication provider. Login uses an
+     * exponential backoff algorithm with an initial wait based on the
+     * sasl.login.retry.backoff.ms setting and will double in wait length
+     * between attempts up to a maximum wait length specified by the
+     * sasl.login.retry.backoff.max.ms setting. Currently applies only to
+     * OAUTHBEARER. The option is a long type.
+     */
+    private Long saslLoginRetryBackoffMaxMs = 10000L;
+    /**
+     * The (optional) value in milliseconds for the initial wait between login
+     * attempts to the external authentication provider. Login uses an
+     * exponential backoff algorithm with an initial wait based on the
+     * sasl.login.retry.backoff.ms setting and will double in wait length
+     * between attempts up to a maximum wait length specified by the
+     * sasl.login.retry.backoff.max.ms setting. Currently applies only to
+     * OAUTHBEARER. The option is a long type.
+     */
+    private Long saslLoginRetryBackoffMs = 100L;
+    /**
      * SASL mechanism used for client connections. This may be any mechanism 
for
      * which a security provider is available. GSSAPI is the default mechanism.
      */
     private String saslMechanism = "GSSAPI";
     /**
+     * The (optional) value in seconds to allow for differences between the 
time
+     * of the OAuth/OIDC identity provider and the broker.
+     */
+    private Integer saslOauthbearerClockSkewSeconds = 30;
+    /**
+     * The (optional) comma-delimited setting for the broker to use to verify
+     * that the JWT was issued for one of the expected audiences. The JWT will
+     * be inspected for the standard OAuth aud claim and if this value is set,
+     * the broker will match the value from JWT's aud claim to see if there is
+     * an exact match. If there is no match, the broker will reject the JWT and
+     * authentication will fail.
+     */
+    private String saslOauthbearerExpectedAudience;
+    /**
+     * The (optional) setting for the broker to use to verify that the JWT was
+     * created by the expected issuer. The JWT will be inspected for the
+     * standard OAuth iss claim and if this value is set, the broker will match
+     * it exactly against what is in the JWT's iss claim. If there is no match,
+     * the broker will reject the JWT and authentication will fail.
+     */
+    private String saslOauthbearerExpectedIssuer;
+    /**
+     * The (optional) value in milliseconds for the broker to wait between
+     * refreshing its JWKS (JSON Web Key Set) cache that contains the keys to
+     * verify the signature of the JWT. The option is a long type.
+     */
+    private Long saslOauthbearerJwksEndpointRefreshMs = 3600000L;
+    /**
+     * The (optional) value in milliseconds for the maximum wait between
+     * attempts to retrieve the JWKS (JSON Web Key Set) from the external
+     * authentication provider. JWKS retrieval uses an exponential backoff
+     * algorithm with an initial wait based on the
+     * sasl.oauthbearer.jwks.endpoint.retry.backoff.ms setting and will double
+     * in wait length between attempts up to a maximum wait length specified by
+     * the sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms setting. The
+     * option is a long type.
+     */
+    private Long saslOauthbearerJwksEndpointRetryBackoffMaxMs = 10000L;
+    /**
+     * The (optional) value in milliseconds for the initial wait between JWKS
+     * (JSON Web Key Set) retrieval attempts from the external authentication
+     * provider. JWKS retrieval uses an exponential backoff algorithm with an
+     * initial wait based on the 
sasl.oauthbearer.jwks.endpoint.retry.backoff.ms
+     * setting and will double in wait length between attempts up to a maximum
+     * wait length specified by the
+     * sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms setting. The option
+     * is a long type.
+     */
+    private Long saslOauthbearerJwksEndpointRetryBackoffMs = 100L;
+    /**
+     * The OAuth/OIDC provider URL from which the provider's JWKS (JSON Web Key
+     * Set) can be retrieved. The URL can be HTTP(S)-based or file-based. If 
the
+     * URL is HTTP(S)-based, the JWKS data will be retrieved from the 
OAuth/OIDC
+     * provider via the configured URL on broker startup. All then-current keys
+     * will be cached on the broker for incoming requests. If an authentication
+     * request is received for a JWT that includes a kid header claim value 
that
+     * isn't yet in the cache, the JWKS endpoint will be queried again on
+     * demand. However, the broker polls the URL every
+     * sasl.oauthbearer.jwks.endpoint.refresh.ms milliseconds to refresh the
+     * cache with any forthcoming keys before any JWT requests that include 
them
+     * are received. If the URL is file-based, the broker will load the JWKS
+     * file from a configured location on startup. In the event that the JWT
+     * includes a kid header value that isn't in the JWKS file, the broker will
+     * reject the JWT and authentication will fail.
+     */
+    private String saslOauthbearerJwksEndpointUrl;
+    /**
+     * The OAuth claim for the scope is often named scope, but this (optional)
+     * setting can provide a different name to use for the scope included in 
the
+     * JWT payload's claims if the OAuth/OIDC provider uses a different name 
for
+     * that claim.
+     */
+    private String saslOauthbearerScopeClaimName = "scope";
+    /**
+     * The OAuth claim for the subject is often named sub, but this (optional)
+     * setting can provide a different name to use for the subject included in
+     * the JWT payload's claims if the OAuth/OIDC provider uses a different 
name
+     * for that claim.
+     */
+    private String saslOauthbearerSubClaimName = "sub";
+    /**
+     * The URL for the OAuth/OIDC identity provider. If the URL is
+     * HTTP(S)-based, it is the issuer's token endpoint URL to which requests
+     * will be made to login based on the configuration in sasl.jaas.config. If
+     * the URL is file-based, it specifies a file containing an access token 
(in
+     * JWT serialized form) issued by the OAuth/OIDC identity provider to use
+     * for authorization.
+     */
+    private String saslOauthbearerTokenEndpointUrl;
+    /**
      * Protocol used to communicate with brokers. Valid values are: PLAINTEXT,
      * SSL, SASL_PLAINTEXT, SASL_SSL.
      */
@@ -1538,6 +1685,22 @@ public class VertxKafkaComponentConfiguration
         this.saslLoginClass = saslLoginClass;
     }
 
+    public Integer getSaslLoginConnectTimeoutMs() {
+        return saslLoginConnectTimeoutMs;
+    }
+
+    public void setSaslLoginConnectTimeoutMs(Integer 
saslLoginConnectTimeoutMs) {
+        this.saslLoginConnectTimeoutMs = saslLoginConnectTimeoutMs;
+    }
+
+    public Integer getSaslLoginReadTimeoutMs() {
+        return saslLoginReadTimeoutMs;
+    }
+
+    public void setSaslLoginReadTimeoutMs(Integer saslLoginReadTimeoutMs) {
+        this.saslLoginReadTimeoutMs = saslLoginReadTimeoutMs;
+    }
+
     public Short getSaslLoginRefreshBufferSeconds() {
         return saslLoginRefreshBufferSeconds;
     }
@@ -1574,6 +1737,22 @@ public class VertxKafkaComponentConfiguration
         this.saslLoginRefreshWindowJitter = saslLoginRefreshWindowJitter;
     }
 
+    public Long getSaslLoginRetryBackoffMaxMs() {
+        return saslLoginRetryBackoffMaxMs;
+    }
+
+    public void setSaslLoginRetryBackoffMaxMs(Long saslLoginRetryBackoffMaxMs) 
{
+        this.saslLoginRetryBackoffMaxMs = saslLoginRetryBackoffMaxMs;
+    }
+
+    public Long getSaslLoginRetryBackoffMs() {
+        return saslLoginRetryBackoffMs;
+    }
+
+    public void setSaslLoginRetryBackoffMs(Long saslLoginRetryBackoffMs) {
+        this.saslLoginRetryBackoffMs = saslLoginRetryBackoffMs;
+    }
+
     public String getSaslMechanism() {
         return saslMechanism;
     }
@@ -1582,6 +1761,96 @@ public class VertxKafkaComponentConfiguration
         this.saslMechanism = saslMechanism;
     }
 
+    public Integer getSaslOauthbearerClockSkewSeconds() {
+        return saslOauthbearerClockSkewSeconds;
+    }
+
+    public void setSaslOauthbearerClockSkewSeconds(
+            Integer saslOauthbearerClockSkewSeconds) {
+        this.saslOauthbearerClockSkewSeconds = saslOauthbearerClockSkewSeconds;
+    }
+
+    public String getSaslOauthbearerExpectedAudience() {
+        return saslOauthbearerExpectedAudience;
+    }
+
+    public void setSaslOauthbearerExpectedAudience(
+            String saslOauthbearerExpectedAudience) {
+        this.saslOauthbearerExpectedAudience = saslOauthbearerExpectedAudience;
+    }
+
+    public String getSaslOauthbearerExpectedIssuer() {
+        return saslOauthbearerExpectedIssuer;
+    }
+
+    public void setSaslOauthbearerExpectedIssuer(
+            String saslOauthbearerExpectedIssuer) {
+        this.saslOauthbearerExpectedIssuer = saslOauthbearerExpectedIssuer;
+    }
+
+    public Long getSaslOauthbearerJwksEndpointRefreshMs() {
+        return saslOauthbearerJwksEndpointRefreshMs;
+    }
+
+    public void setSaslOauthbearerJwksEndpointRefreshMs(
+            Long saslOauthbearerJwksEndpointRefreshMs) {
+        this.saslOauthbearerJwksEndpointRefreshMs = 
saslOauthbearerJwksEndpointRefreshMs;
+    }
+
+    public Long getSaslOauthbearerJwksEndpointRetryBackoffMaxMs() {
+        return saslOauthbearerJwksEndpointRetryBackoffMaxMs;
+    }
+
+    public void setSaslOauthbearerJwksEndpointRetryBackoffMaxMs(
+            Long saslOauthbearerJwksEndpointRetryBackoffMaxMs) {
+        this.saslOauthbearerJwksEndpointRetryBackoffMaxMs = 
saslOauthbearerJwksEndpointRetryBackoffMaxMs;
+    }
+
+    public Long getSaslOauthbearerJwksEndpointRetryBackoffMs() {
+        return saslOauthbearerJwksEndpointRetryBackoffMs;
+    }
+
+    public void setSaslOauthbearerJwksEndpointRetryBackoffMs(
+            Long saslOauthbearerJwksEndpointRetryBackoffMs) {
+        this.saslOauthbearerJwksEndpointRetryBackoffMs = 
saslOauthbearerJwksEndpointRetryBackoffMs;
+    }
+
+    public String getSaslOauthbearerJwksEndpointUrl() {
+        return saslOauthbearerJwksEndpointUrl;
+    }
+
+    public void setSaslOauthbearerJwksEndpointUrl(
+            String saslOauthbearerJwksEndpointUrl) {
+        this.saslOauthbearerJwksEndpointUrl = saslOauthbearerJwksEndpointUrl;
+    }
+
+    public String getSaslOauthbearerScopeClaimName() {
+        return saslOauthbearerScopeClaimName;
+    }
+
+    public void setSaslOauthbearerScopeClaimName(
+            String saslOauthbearerScopeClaimName) {
+        this.saslOauthbearerScopeClaimName = saslOauthbearerScopeClaimName;
+    }
+
+    public String getSaslOauthbearerSubClaimName() {
+        return saslOauthbearerSubClaimName;
+    }
+
+    public void setSaslOauthbearerSubClaimName(
+            String saslOauthbearerSubClaimName) {
+        this.saslOauthbearerSubClaimName = saslOauthbearerSubClaimName;
+    }
+
+    public String getSaslOauthbearerTokenEndpointUrl() {
+        return saslOauthbearerTokenEndpointUrl;
+    }
+
+    public void setSaslOauthbearerTokenEndpointUrl(
+            String saslOauthbearerTokenEndpointUrl) {
+        this.saslOauthbearerTokenEndpointUrl = saslOauthbearerTokenEndpointUrl;
+    }
+
     public String getSecurityProtocol() {
         return securityProtocol;
     }

Reply via email to