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.git


The following commit(s) were added to refs/heads/main by this push:
     new 0c05a351261 CAMEL-21788: camel-kafka - Turn recordMetadata off by 
default
0c05a351261 is described below

commit 0c05a351261b95d0bbac511f94c7a7b27b2f904c
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Feb 25 09:08:54 2025 +0100

    CAMEL-21788: camel-kafka - Turn recordMetadata off by default
---
 .../org/apache/camel/catalog/components/kafka.json | 42 ++++++-------
 .../org/apache/camel/component/kafka/kafka.json    | 42 ++++++-------
 .../camel/component/kafka/KafkaConfiguration.java  |  4 +-
 .../camel/component/kafka/KafkaProducer.java       |  2 -
 .../camel/component/kafka/KafkaProducerTest.java   |  1 +
 .../kafka/integration/KafkaProducerFullIT.java     | 16 +++--
 .../kafka/integration/KafkaTransactionIT.java      |  5 +-
 .../kafka/clients/producer/KafkaProducerTest.java  |  1 -
 .../ROOT/pages/camel-4x-upgrade-guide-4_10.adoc    |  4 ++
 .../ROOT/pages/camel-4x-upgrade-guide-4_11.adoc    |  4 ++
 .../dsl/KafkaComponentBuilderFactory.java          | 42 ++++++-------
 .../endpoint/dsl/KafkaEndpointBuilderFactory.java  | 72 +++++++++++-----------
 12 files changed, 123 insertions(+), 112 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kafka.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kafka.json
index 79dac0e0ba0..a991142094b 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kafka.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/kafka.json
@@ -99,16 +99,16 @@
     "queueBufferingMaxMessages": { "index": 72, "kind": "property", 
"displayName": "Queue Buffering Max Messages", "group": "producer", "label": 
"producer", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "10000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The maximum number of unsent messages that can 
be [...]
     "receiveBufferBytes": { "index": 73, "kind": "property", "displayName": 
"Receive Buffer Bytes", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "65536", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The size of the TCP 
receive buffer (SO_RCVBUF) to use when readi [...]
     "reconnectBackoffMs": { "index": 74, "kind": "property", "displayName": 
"Reconnect Backoff Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "50", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time to 
wait before attempting to reconnect to a give [...]
-    "recordMetadata": { "index": 75, "kind": "property", "displayName": 
"Record Metadata", "group": "producer", "label": "producer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Whether the producer should store the 
RecordMetadata results from sending to Kafka. Th [...]
-    "requestRequiredAcks": { "index": 76, "kind": "property", "displayName": 
"Request Required 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.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of acknowledgments t [...]
-    "requestTimeoutMs": { "index": 77, "kind": "property", "displayName": 
"Request Timeout Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "30000", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time the 
broker will wait trying to meet the request.r [...]
-    "retries": { "index": 78, "kind": "property", "displayName": "Retries", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Setting a value greater than zero will cause 
the client to resend any record that has failed to be sent due to a  [...]
-    "sendBufferBytes": { "index": 79, "kind": "property", "displayName": "Send 
Buffer Bytes", "group": "producer", "label": "producer", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "131072", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Socket write buffer 
size" },
-    "useIterator": { "index": 80, "kind": "property", "displayName": "Use 
Iterator", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether sending to kafka should send the 
message body as a single record, or use a java [...]
-    "valueSerializer": { "index": 81, "kind": "property", "displayName": 
"Value Serializer", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class for [...]
-    "workerPool": { "index": 82, "kind": "property", "displayName": "Worker 
Pool", "group": "producer", "label": "producer", "required": false, "type": 
"object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "To use a custom worker pool for continue 
routing Exchange after kafka server has acknowl [...]
-    "workerPoolCoreSize": { "index": 83, "kind": "property", "displayName": 
"Worker Pool Core Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing Ex [...]
-    "workerPoolMaxSize": { "index": 84, "kind": "property", "displayName": 
"Worker Pool Max Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "20", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Maximum number of 
threads for the worker pool for continue routing E [...]
+    "requestRequiredAcks": { "index": 75, "kind": "property", "displayName": 
"Request Required 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.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of acknowledgments t [...]
+    "requestTimeoutMs": { "index": 76, "kind": "property", "displayName": 
"Request Timeout Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "30000", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time the 
broker will wait trying to meet the request.r [...]
+    "retries": { "index": 77, "kind": "property", "displayName": "Retries", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Setting a value greater than zero will cause 
the client to resend any record that has failed to be sent due to a  [...]
+    "sendBufferBytes": { "index": 78, "kind": "property", "displayName": "Send 
Buffer Bytes", "group": "producer", "label": "producer", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "131072", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Socket write buffer 
size" },
+    "useIterator": { "index": 79, "kind": "property", "displayName": "Use 
Iterator", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether sending to kafka should send the 
message body as a single record, or use a java [...]
+    "valueSerializer": { "index": 80, "kind": "property", "displayName": 
"Value Serializer", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class for [...]
+    "workerPool": { "index": 81, "kind": "property", "displayName": "Worker 
Pool", "group": "producer", "label": "producer", "required": false, "type": 
"object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "To use a custom worker pool for continue 
routing Exchange after kafka server has acknowl [...]
+    "workerPoolCoreSize": { "index": 82, "kind": "property", "displayName": 
"Worker Pool Core Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing Ex [...]
+    "workerPoolMaxSize": { "index": 83, "kind": "property", "displayName": 
"Worker Pool Max Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "20", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Maximum number of 
threads for the worker pool for continue routing E [...]
+    "recordMetadata": { "index": 84, "kind": "property", "displayName": 
"Record Metadata", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Whether the producer should store the 
RecordMetadata results from [...]
     "autowiredEnabled": { "index": 85, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching  [...]
     "kafkaClientFactory": { "index": 86, "kind": "property", "displayName": 
"Kafka Client Factory", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.kafka.KafkaClientFactory", "deprecated": false, 
"autowired": true, "secret": false, "description": "Factory to use for creating 
org.apache.kafka.clients.consumer.KafkaConsumer and 
org.apache.kafka.clients.producer.KafkaProducer instances. This allows 
configuring a custom f [...]
     "synchronous": { "index": 87, "kind": "property", "displayName": 
"Synchronous", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether synchronous processing should be 
strictly used" },
@@ -229,17 +229,17 @@
     "queueBufferingMaxMessages": { "index": 67, "kind": "parameter", 
"displayName": "Queue Buffering Max Messages", "group": "producer", "label": 
"producer", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "10000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The maximum number of unsent messages that can 
b [...]
     "receiveBufferBytes": { "index": 68, "kind": "parameter", "displayName": 
"Receive Buffer Bytes", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "65536", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The size of the TCP 
receive buffer (SO_RCVBUF) to use when read [...]
     "reconnectBackoffMs": { "index": 69, "kind": "parameter", "displayName": 
"Reconnect Backoff Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "50", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time to 
wait before attempting to reconnect to a giv [...]
-    "recordMetadata": { "index": 70, "kind": "parameter", "displayName": 
"Record Metadata", "group": "producer", "label": "producer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Whether the producer should store the 
RecordMetadata results from sending to Kafka. T [...]
-    "requestRequiredAcks": { "index": 71, "kind": "parameter", "displayName": 
"Request Required 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.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of acknowledgments  [...]
-    "requestTimeoutMs": { "index": 72, "kind": "parameter", "displayName": 
"Request Timeout Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "30000", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time the 
broker will wait trying to meet the request. [...]
-    "retries": { "index": 73, "kind": "parameter", "displayName": "Retries", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Setting a value greater than zero will cause 
the client to resend any record that has failed to be sent due to a [...]
-    "sendBufferBytes": { "index": 74, "kind": "parameter", "displayName": 
"Send Buffer Bytes", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "131072", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Socket write buffer 
size" },
-    "useIterator": { "index": 75, "kind": "parameter", "displayName": "Use 
Iterator", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether sending to kafka should send the 
message body as a single record, or use a jav [...]
-    "valueSerializer": { "index": 76, "kind": "parameter", "displayName": 
"Value Serializer", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class fo [...]
-    "workerPool": { "index": 77, "kind": "parameter", "displayName": "Worker 
Pool", "group": "producer", "label": "producer", "required": false, "type": 
"object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "To use a custom worker pool for continue 
routing Exchange after kafka server has acknow [...]
-    "workerPoolCoreSize": { "index": 78, "kind": "parameter", "displayName": 
"Worker Pool Core Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing E [...]
-    "workerPoolMaxSize": { "index": 79, "kind": "parameter", "displayName": 
"Worker Pool Max Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "20", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Maximum number of 
threads for the worker pool for continue routing  [...]
-    "lazyStartProducer": { "index": 80, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "requestRequiredAcks": { "index": 70, "kind": "parameter", "displayName": 
"Request Required 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.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of acknowledgments  [...]
+    "requestTimeoutMs": { "index": 71, "kind": "parameter", "displayName": 
"Request Timeout Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "30000", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time the 
broker will wait trying to meet the request. [...]
+    "retries": { "index": 72, "kind": "parameter", "displayName": "Retries", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Setting a value greater than zero will cause 
the client to resend any record that has failed to be sent due to a [...]
+    "sendBufferBytes": { "index": 73, "kind": "parameter", "displayName": 
"Send Buffer Bytes", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "131072", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Socket write buffer 
size" },
+    "useIterator": { "index": 74, "kind": "parameter", "displayName": "Use 
Iterator", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether sending to kafka should send the 
message body as a single record, or use a jav [...]
+    "valueSerializer": { "index": 75, "kind": "parameter", "displayName": 
"Value Serializer", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class fo [...]
+    "workerPool": { "index": 76, "kind": "parameter", "displayName": "Worker 
Pool", "group": "producer", "label": "producer", "required": false, "type": 
"object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "To use a custom worker pool for continue 
routing Exchange after kafka server has acknow [...]
+    "workerPoolCoreSize": { "index": 77, "kind": "parameter", "displayName": 
"Worker Pool Core Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing E [...]
+    "workerPoolMaxSize": { "index": 78, "kind": "parameter", "displayName": 
"Worker Pool Max Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "20", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Maximum number of 
threads for the worker pool for continue routing  [...]
+    "lazyStartProducer": { "index": 79, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "recordMetadata": { "index": 80, "kind": "parameter", "displayName": 
"Record Metadata", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Whether the producer should store the 
RecordMetadata results fro [...]
     "kafkaClientFactory": { "index": 81, "kind": "parameter", "displayName": 
"Kafka Client Factory", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.kafka.KafkaClientFactory", "deprecated": false, 
"autowired": false, "secret": false, "description": "Factory to use for 
creating org.apache.kafka.clients.consumer.KafkaConsumer and 
org.apache.kafka.clients.producer.KafkaProducer instances. This allows to 
configure a custo [...]
     "synchronous": { "index": 82, "kind": "parameter", "displayName": 
"Synchronous", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether synchronous processing should be 
strictly used" },
     "interceptorClasses": { "index": 83, "kind": "parameter", "displayName": 
"Interceptor Classes", "group": "monitoring", "label": "common,monitoring", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets interceptors for producer or consumers. 
Producer interceptors have to be cl [...]
diff --git 
a/components/camel-kafka/src/generated/resources/META-INF/org/apache/camel/component/kafka/kafka.json
 
b/components/camel-kafka/src/generated/resources/META-INF/org/apache/camel/component/kafka/kafka.json
index 79dac0e0ba0..a991142094b 100644
--- 
a/components/camel-kafka/src/generated/resources/META-INF/org/apache/camel/component/kafka/kafka.json
+++ 
b/components/camel-kafka/src/generated/resources/META-INF/org/apache/camel/component/kafka/kafka.json
@@ -99,16 +99,16 @@
     "queueBufferingMaxMessages": { "index": 72, "kind": "property", 
"displayName": "Queue Buffering Max Messages", "group": "producer", "label": 
"producer", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "10000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The maximum number of unsent messages that can 
be [...]
     "receiveBufferBytes": { "index": 73, "kind": "property", "displayName": 
"Receive Buffer Bytes", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "65536", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The size of the TCP 
receive buffer (SO_RCVBUF) to use when readi [...]
     "reconnectBackoffMs": { "index": 74, "kind": "property", "displayName": 
"Reconnect Backoff Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "50", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time to 
wait before attempting to reconnect to a give [...]
-    "recordMetadata": { "index": 75, "kind": "property", "displayName": 
"Record Metadata", "group": "producer", "label": "producer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Whether the producer should store the 
RecordMetadata results from sending to Kafka. Th [...]
-    "requestRequiredAcks": { "index": 76, "kind": "property", "displayName": 
"Request Required 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.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of acknowledgments t [...]
-    "requestTimeoutMs": { "index": 77, "kind": "property", "displayName": 
"Request Timeout Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "30000", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time the 
broker will wait trying to meet the request.r [...]
-    "retries": { "index": 78, "kind": "property", "displayName": "Retries", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Setting a value greater than zero will cause 
the client to resend any record that has failed to be sent due to a  [...]
-    "sendBufferBytes": { "index": 79, "kind": "property", "displayName": "Send 
Buffer Bytes", "group": "producer", "label": "producer", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "131072", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Socket write buffer 
size" },
-    "useIterator": { "index": 80, "kind": "property", "displayName": "Use 
Iterator", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether sending to kafka should send the 
message body as a single record, or use a java [...]
-    "valueSerializer": { "index": 81, "kind": "property", "displayName": 
"Value Serializer", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class for [...]
-    "workerPool": { "index": 82, "kind": "property", "displayName": "Worker 
Pool", "group": "producer", "label": "producer", "required": false, "type": 
"object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "To use a custom worker pool for continue 
routing Exchange after kafka server has acknowl [...]
-    "workerPoolCoreSize": { "index": 83, "kind": "property", "displayName": 
"Worker Pool Core Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing Ex [...]
-    "workerPoolMaxSize": { "index": 84, "kind": "property", "displayName": 
"Worker Pool Max Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "20", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Maximum number of 
threads for the worker pool for continue routing E [...]
+    "requestRequiredAcks": { "index": 75, "kind": "property", "displayName": 
"Request Required 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.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of acknowledgments t [...]
+    "requestTimeoutMs": { "index": 76, "kind": "property", "displayName": 
"Request Timeout Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "30000", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time the 
broker will wait trying to meet the request.r [...]
+    "retries": { "index": 77, "kind": "property", "displayName": "Retries", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Setting a value greater than zero will cause 
the client to resend any record that has failed to be sent due to a  [...]
+    "sendBufferBytes": { "index": 78, "kind": "property", "displayName": "Send 
Buffer Bytes", "group": "producer", "label": "producer", "required": false, 
"type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "131072", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Socket write buffer 
size" },
+    "useIterator": { "index": 79, "kind": "property", "displayName": "Use 
Iterator", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether sending to kafka should send the 
message body as a single record, or use a java [...]
+    "valueSerializer": { "index": 80, "kind": "property", "displayName": 
"Value Serializer", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class for [...]
+    "workerPool": { "index": 81, "kind": "property", "displayName": "Worker 
Pool", "group": "producer", "label": "producer", "required": false, "type": 
"object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "To use a custom worker pool for continue 
routing Exchange after kafka server has acknowl [...]
+    "workerPoolCoreSize": { "index": 82, "kind": "property", "displayName": 
"Worker Pool Core Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing Ex [...]
+    "workerPoolMaxSize": { "index": 83, "kind": "property", "displayName": 
"Worker Pool Max Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "20", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Maximum number of 
threads for the worker pool for continue routing E [...]
+    "recordMetadata": { "index": 84, "kind": "property", "displayName": 
"Record Metadata", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Whether the producer should store the 
RecordMetadata results from [...]
     "autowiredEnabled": { "index": 85, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching  [...]
     "kafkaClientFactory": { "index": 86, "kind": "property", "displayName": 
"Kafka Client Factory", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.kafka.KafkaClientFactory", "deprecated": false, 
"autowired": true, "secret": false, "description": "Factory to use for creating 
org.apache.kafka.clients.consumer.KafkaConsumer and 
org.apache.kafka.clients.producer.KafkaProducer instances. This allows 
configuring a custom f [...]
     "synchronous": { "index": 87, "kind": "property", "displayName": 
"Synchronous", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether synchronous processing should be 
strictly used" },
@@ -229,17 +229,17 @@
     "queueBufferingMaxMessages": { "index": 67, "kind": "parameter", 
"displayName": "Queue Buffering Max Messages", "group": "producer", "label": 
"producer", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "10000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The maximum number of unsent messages that can 
b [...]
     "receiveBufferBytes": { "index": 68, "kind": "parameter", "displayName": 
"Receive Buffer Bytes", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "65536", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The size of the TCP 
receive buffer (SO_RCVBUF) to use when read [...]
     "reconnectBackoffMs": { "index": 69, "kind": "parameter", "displayName": 
"Reconnect Backoff Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "50", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time to 
wait before attempting to reconnect to a giv [...]
-    "recordMetadata": { "index": 70, "kind": "parameter", "displayName": 
"Record Metadata", "group": "producer", "label": "producer", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Whether the producer should store the 
RecordMetadata results from sending to Kafka. T [...]
-    "requestRequiredAcks": { "index": 71, "kind": "parameter", "displayName": 
"Request Required 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.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of acknowledgments  [...]
-    "requestTimeoutMs": { "index": 72, "kind": "parameter", "displayName": 
"Request Timeout Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "30000", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time the 
broker will wait trying to meet the request. [...]
-    "retries": { "index": 73, "kind": "parameter", "displayName": "Retries", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Setting a value greater than zero will cause 
the client to resend any record that has failed to be sent due to a [...]
-    "sendBufferBytes": { "index": 74, "kind": "parameter", "displayName": 
"Send Buffer Bytes", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "131072", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Socket write buffer 
size" },
-    "useIterator": { "index": 75, "kind": "parameter", "displayName": "Use 
Iterator", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether sending to kafka should send the 
message body as a single record, or use a jav [...]
-    "valueSerializer": { "index": 76, "kind": "parameter", "displayName": 
"Value Serializer", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class fo [...]
-    "workerPool": { "index": 77, "kind": "parameter", "displayName": "Worker 
Pool", "group": "producer", "label": "producer", "required": false, "type": 
"object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "To use a custom worker pool for continue 
routing Exchange after kafka server has acknow [...]
-    "workerPoolCoreSize": { "index": 78, "kind": "parameter", "displayName": 
"Worker Pool Core Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing E [...]
-    "workerPoolMaxSize": { "index": 79, "kind": "parameter", "displayName": 
"Worker Pool Max Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "20", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Maximum number of 
threads for the worker pool for continue routing  [...]
-    "lazyStartProducer": { "index": 80, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "requestRequiredAcks": { "index": 70, "kind": "parameter", "displayName": 
"Request Required 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.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of acknowledgments  [...]
+    "requestTimeoutMs": { "index": 71, "kind": "parameter", "displayName": 
"Request Timeout Ms", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "30000", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The amount of time the 
broker will wait trying to meet the request. [...]
+    "retries": { "index": 72, "kind": "parameter", "displayName": "Retries", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Setting a value greater than zero will cause 
the client to resend any record that has failed to be sent due to a [...]
+    "sendBufferBytes": { "index": 73, "kind": "parameter", "displayName": 
"Send Buffer Bytes", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "131072", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Socket write buffer 
size" },
+    "useIterator": { "index": 74, "kind": "parameter", "displayName": "Use 
Iterator", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether sending to kafka should send the 
message body as a single record, or use a jav [...]
+    "valueSerializer": { "index": 75, "kind": "parameter", "displayName": 
"Value Serializer", "group": "producer", "label": "producer", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class fo [...]
+    "workerPool": { "index": 76, "kind": "parameter", "displayName": "Worker 
Pool", "group": "producer", "label": "producer", "required": false, "type": 
"object", "javaType": "java.util.concurrent.ExecutorService", "deprecated": 
false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "To use a custom worker pool for continue 
routing Exchange after kafka server has acknow [...]
+    "workerPoolCoreSize": { "index": 77, "kind": "parameter", "displayName": 
"Worker Pool Core Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "10", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Number of core threads 
for the worker pool for continue routing E [...]
+    "workerPoolMaxSize": { "index": 78, "kind": "parameter", "displayName": 
"Worker Pool Max Size", "group": "producer", "label": "producer", "required": 
false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "20", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Maximum number of 
threads for the worker pool for continue routing  [...]
+    "lazyStartProducer": { "index": 79, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "Whether the producer should be started 
lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a produ [...]
+    "recordMetadata": { "index": 80, "kind": "parameter", "displayName": 
"Record Metadata", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Whether the producer should store the 
RecordMetadata results fro [...]
     "kafkaClientFactory": { "index": 81, "kind": "parameter", "displayName": 
"Kafka Client Factory", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.component.kafka.KafkaClientFactory", "deprecated": false, 
"autowired": false, "secret": false, "description": "Factory to use for 
creating org.apache.kafka.clients.consumer.KafkaConsumer and 
org.apache.kafka.clients.producer.KafkaProducer instances. This allows to 
configure a custo [...]
     "synchronous": { "index": 82, "kind": "parameter", "displayName": 
"Synchronous", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets whether synchronous processing should be 
strictly used" },
     "interceptorClasses": { "index": 83, "kind": "parameter", "displayName": 
"Interceptor Classes", "group": "monitoring", "label": "common,monitoring", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets interceptors for producer or consumers. 
Producer interceptors have to be cl [...]
diff --git 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
index f9a385ecf7b..23f962fd4e1 100755
--- 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
+++ 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
@@ -226,8 +226,8 @@ public class KafkaConfiguration implements Cloneable, 
HeaderFilterStrategyAware
     // send.buffer.bytes
     @UriParam(label = "producer", defaultValue = "131072")
     private Integer sendBufferBytes = 131072;
-    @UriParam(label = "producer", defaultValue = "true")
-    private boolean recordMetadata = true;
+    @UriParam(label = "producer,advanced")
+    private boolean recordMetadata;
     // max.in.flight.requests.per.connection
     @UriParam(label = "producer", defaultValue = "5")
     private Integer maxInFlightRequest = 5;
diff --git 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
index 572c8d1b751..d3deb114633 100755
--- 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
+++ 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaProducer.java
@@ -445,9 +445,7 @@ public class KafkaProducer extends DefaultAsyncProducer {
 
         if (configuration.isRecordMetadata()) {
             List<RecordMetadata> metadataList = 
Collections.singletonList(metadata);
-
             ProducerUtil.setRecordMetadata(key, metadataList);
-
             return metadataList;
         }
 
diff --git 
a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaProducerTest.java
 
b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaProducerTest.java
index daed89e8685..e7f81be5bb2 100755
--- 
a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaProducerTest.java
+++ 
b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaProducerTest.java
@@ -78,6 +78,7 @@ public class KafkaProducerTest {
     public KafkaProducerTest() throws Exception {
         KafkaComponent kafka = new KafkaComponent(new DefaultCamelContext());
         kafka.getConfiguration().setBrokers("broker1:1234,broker2:4567");
+        kafka.getConfiguration().setRecordMetadata(true);
         kafka.init();
 
         endpoint = kafka.createEndpoint("kafka:sometopic", "sometopic", new 
HashMap());
diff --git 
a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/KafkaProducerFullIT.java
 
b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/KafkaProducerFullIT.java
index 215000da6e2..80aa8c1e952 100644
--- 
a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/KafkaProducerFullIT.java
+++ 
b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/KafkaProducerFullIT.java
@@ -157,24 +157,28 @@ public class KafkaProducerFullIT extends 
BaseKafkaTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from(DIRECT_START_STRINGS_URI).to("kafka:" + TOPIC_STRINGS + 
"?requestRequiredAcks=-1").to(KAFKA_ACK_MOCK);
+                from(DIRECT_START_STRINGS_URI).to("kafka:" + TOPIC_STRINGS + 
"?recordMetadata=true&requestRequiredAcks=-1")
+                        .to(KAFKA_ACK_MOCK);
 
-                from(DIRECT_START_STRINGS_2_URI).to("kafka:" + TOPIC_STRINGS + 
"?requestRequiredAcks=-1").to(KAFKA_ACK_MOCK);
+                from(DIRECT_START_STRINGS_2_URI).to("kafka:" + TOPIC_STRINGS + 
"?recordMetadata=true&requestRequiredAcks=-1")
+                        .to(KAFKA_ACK_MOCK);
 
-                from(DIRECT_START_BYTES_URI).to("kafka:" + TOPIC_BYTES + 
"?requestRequiredAcks=-1"
+                from(DIRECT_START_BYTES_URI).to("kafka:" + TOPIC_BYTES + 
"?recordMetadata=true&requestRequiredAcks=-1"
                                                 + 
"&valueSerializer=org.apache.kafka.common.serialization.ByteArraySerializer&"
                                                 + 
"keySerializer=org.apache.kafka.common.serialization.ByteArraySerializer")
                         .to(KAFKA_ACK_MOCK);
 
-                from(DIRECT_START_TRACED_URI).to("kafka:" + TOPIC_INTERCEPTED 
+ "?requestRequiredAcks=-1"
+                from(DIRECT_START_TRACED_URI).to("kafka:" + TOPIC_INTERCEPTED 
+ "?recordMetadata=true&requestRequiredAcks=-1"
                                                  + 
"&interceptorClasses=org.apache.camel.component.kafka.MockProducerInterceptor")
                         .to(KAFKA_ACK_MOCK);
 
-                from(DIRECT_PROPAGATED_HEADERS_URI).to("kafka:" + 
TOPIC_PROPAGATED_HEADERS + "?requestRequiredAcks=-1")
+                from(DIRECT_PROPAGATED_HEADERS_URI)
+                        .to("kafka:" + TOPIC_PROPAGATED_HEADERS + 
"?recordMetadata=true&requestRequiredAcks=-1")
                         .to(KAFKA_ACK_MOCK);
 
                 from(DIRECT_NO_RECORD_SPECIFIC_HEADERS_URI)
-                        .to("kafka:" + TOPIC_NO_RECORD_SPECIFIC_HEADERS + 
"?requestRequiredAcks=-1").to(KAFKA_ACK_MOCK);
+                        .to("kafka:" + TOPIC_NO_RECORD_SPECIFIC_HEADERS + 
"?recordMetadata=true&requestRequiredAcks=-1")
+                        .to(KAFKA_ACK_MOCK);
             }
         };
     }
diff --git 
a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/KafkaTransactionIT.java
 
b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/KafkaTransactionIT.java
index ee1207fbe7e..5569d15e016 100644
--- 
a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/KafkaTransactionIT.java
+++ 
b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/KafkaTransactionIT.java
@@ -72,7 +72,7 @@ public class KafkaTransactionIT extends BaseKafkaTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from(SEQUENTIAL_TRANSACTION_URI).to("kafka:" + 
TOPIC_TRANSACTION + "?requestRequiredAcks=-1"
+                from(SEQUENTIAL_TRANSACTION_URI).to("kafka:" + 
TOPIC_TRANSACTION + "?recordMetadata=true&requestRequiredAcks=-1"
                                                     + 
"&additional-properties[transactional.id]=1234"
                                                     + 
"&additional-properties[enable.idempotence]=true"
                                                     + 
"&additional-properties[retries]=5")
@@ -87,7 +87,8 @@ public class KafkaTransactionIT extends BaseKafkaTestSupport {
                         }).to(KafkaTestUtil.MOCK_RESULT);
 
                 from(CONCURRENT_TRANSACTION_URI)
-                        .to("kafka:" + TOPIC_CONCURRENCY_TRANSACTION + 
"?requestRequiredAcks=-1&synchronous=true"
+                        .to("kafka:" + TOPIC_CONCURRENCY_TRANSACTION
+                            + 
"?recordMetadata=true&requestRequiredAcks=-1&synchronous=true"
                             + "&additional-properties[transactional.id]=5678"
                             + "&additional-properties[enable.idempotence]=true"
                             + "&additional-properties[retries]=5");
diff --git 
a/components/camel-kafka/src/test/java/org/apache/kafka/clients/producer/KafkaProducerTest.java
 
b/components/camel-kafka/src/test/java/org/apache/kafka/clients/producer/KafkaProducerTest.java
index 7eadfa4c5a7..f15905c5f42 100644
--- 
a/components/camel-kafka/src/test/java/org/apache/kafka/clients/producer/KafkaProducerTest.java
+++ 
b/components/camel-kafka/src/test/java/org/apache/kafka/clients/producer/KafkaProducerTest.java
@@ -55,7 +55,6 @@ public class KafkaProducerTest {
         camelProducer = new KafkaProducer((KafkaEndpoint) 
component.createEndpoint("kafka:test"));
         camelProducer.setKafkaProducer(kafkaProducer);
         when(exchange.getIn()).thenReturn(message);
-        when(exchange.getMessage()).thenReturn(message);
         when(exchange.getContext()).thenReturn(context);
         when(message.getHeader("kafka.PARTITION_KEY", 
Integer.class)).thenReturn(0);
         when(message.getHeader("kafka.KEY")).thenReturn("key");
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_10.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_10.adoc
index d03880b0ad1..5269ca25267 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_10.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_10.adoc
@@ -31,6 +31,10 @@ Removed `getDelegateMessage` method from 
`org.apache.camel.attachment.Attachment
 The file name header `Exchange.FILE_NAME` now includes the relative path such 
as `subdir/hello.txt`
 when using `recursive=true`, to be similar to how `camel-file` component 
behaves.
 
+=== camel-kafka
+
+The camel-kafka option `recordMetadata` has changed default from `true` to 
`false`.
+
 == Upgrading Camel 4.9 to 4.10
 
 === XML DSL changes
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_11.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_11.adoc
index 83e0a725569..87e7b84ec95 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_11.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_11.adoc
@@ -45,3 +45,7 @@ And if so, your custom code may need to be changed slightly 
as well.
 
 The file name header `Exchange.FILE_NAME` now includes the relative path such 
as `subdir/hello.txt`
 when using `recursive=true`, to be similar to how `camel-file` component 
behaves.
+
+=== camel-kafka
+
+The camel-kafka option `recordMetadata` has changed default from `true` to 
`false`.
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
index bf7425e13fc..4cbf148d308 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KafkaComponentBuilderFactory.java
@@ -1594,26 +1594,6 @@ public interface KafkaComponentBuilderFactory {
         }
     
         
-        /**
-         * Whether the producer should store the RecordMetadata results from
-         * sending to Kafka. The results are stored in a List containing the
-         * RecordMetadata metadata's. The list is stored on a header with the
-         * key KafkaConstants#KAFKA_RECORD_META.
-         * 
-         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
-         * 
-         * Default: true
-         * Group: producer
-         * 
-         * @param recordMetadata the value to set
-         * @return the dsl builder
-         */
-        default KafkaComponentBuilder recordMetadata(boolean recordMetadata) {
-            doSetProperty("recordMetadata", recordMetadata);
-            return this;
-        }
-    
-        
         /**
          * The number of acknowledgments the producer requires the leader to
          * have received before considering a request complete. This controls
@@ -1814,6 +1794,26 @@ public interface KafkaComponentBuilderFactory {
         }
     
         
+        /**
+         * Whether the producer should store the RecordMetadata results from
+         * sending to Kafka. The results are stored in a List containing the
+         * RecordMetadata metadata's. The list is stored on a header with the
+         * key KafkaConstants#KAFKA_RECORD_META.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param recordMetadata the value to set
+         * @return the dsl builder
+         */
+        default KafkaComponentBuilder recordMetadata(boolean recordMetadata) {
+            doSetProperty("recordMetadata", recordMetadata);
+            return this;
+        }
+    
+        
         /**
          * Whether autowiring is enabled. This is used for automatic autowiring
          * options (the option must be marked as autowired) by looking up in 
the
@@ -2515,7 +2515,6 @@ public interface KafkaComponentBuilderFactory {
             case "queueBufferingMaxMessages": 
getOrCreateConfiguration((KafkaComponent) 
component).setQueueBufferingMaxMessages((java.lang.Integer) value); return true;
             case "receiveBufferBytes": 
getOrCreateConfiguration((KafkaComponent) 
component).setReceiveBufferBytes((java.lang.Integer) value); return true;
             case "reconnectBackoffMs": 
getOrCreateConfiguration((KafkaComponent) 
component).setReconnectBackoffMs((java.lang.Integer) value); return true;
-            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) 
component).setRecordMetadata((boolean) value); return true;
             case "requestRequiredAcks": 
getOrCreateConfiguration((KafkaComponent) 
component).setRequestRequiredAcks((java.lang.String) value); return true;
             case "requestTimeoutMs": getOrCreateConfiguration((KafkaComponent) 
component).setRequestTimeoutMs((java.lang.Integer) value); return true;
             case "retries": getOrCreateConfiguration((KafkaComponent) 
component).setRetries((java.lang.Integer) value); return true;
@@ -2525,6 +2524,7 @@ public interface KafkaComponentBuilderFactory {
             case "workerPool": getOrCreateConfiguration((KafkaComponent) 
component).setWorkerPool((java.util.concurrent.ExecutorService) value); return 
true;
             case "workerPoolCoreSize": 
getOrCreateConfiguration((KafkaComponent) 
component).setWorkerPoolCoreSize((java.lang.Integer) value); return true;
             case "workerPoolMaxSize": 
getOrCreateConfiguration((KafkaComponent) 
component).setWorkerPoolMaxSize((java.lang.Integer) value); return true;
+            case "recordMetadata": getOrCreateConfiguration((KafkaComponent) 
component).setRecordMetadata((boolean) value); return true;
             case "autowiredEnabled": ((KafkaComponent) 
component).setAutowiredEnabled((boolean) value); return true;
             case "kafkaClientFactory": ((KafkaComponent) 
component).setKafkaClientFactory((org.apache.camel.component.kafka.KafkaClientFactory)
 value); return true;
             case "synchronous": getOrCreateConfiguration((KafkaComponent) 
component).setSynchronous((boolean) value); return true;
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
index b609f6b5cee..acd452c889e 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/KafkaEndpointBuilderFactory.java
@@ -3294,42 +3294,6 @@ public interface KafkaEndpointBuilderFactory {
             doSetProperty("reconnectBackoffMs", reconnectBackoffMs);
             return this;
         }
-        /**
-         * Whether the producer should store the RecordMetadata results from
-         * sending to Kafka. The results are stored in a List containing the
-         * RecordMetadata metadata's. The list is stored on a header with the
-         * key KafkaConstants#KAFKA_RECORD_META.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: producer
-         * 
-         * @param recordMetadata the value to set
-         * @return the dsl builder
-         */
-        default KafkaEndpointProducerBuilder recordMetadata(boolean 
recordMetadata) {
-            doSetProperty("recordMetadata", recordMetadata);
-            return this;
-        }
-        /**
-         * Whether the producer should store the RecordMetadata results from
-         * sending to Kafka. The results are stored in a List containing the
-         * RecordMetadata metadata's. The list is stored on a header with the
-         * key KafkaConstants#KAFKA_RECORD_META.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Default: true
-         * Group: producer
-         * 
-         * @param recordMetadata the value to set
-         * @return the dsl builder
-         */
-        default KafkaEndpointProducerBuilder recordMetadata(String 
recordMetadata) {
-            doSetProperty("recordMetadata", recordMetadata);
-            return this;
-        }
         /**
          * The number of acknowledgments the producer requires the leader to
          * have received before considering a request complete. This controls
@@ -4229,6 +4193,42 @@ public interface KafkaEndpointBuilderFactory {
             doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
+        /**
+         * Whether the producer should store the RecordMetadata results from
+         * sending to Kafka. The results are stored in a List containing the
+         * RecordMetadata metadata's. The list is stored on a header with the
+         * key KafkaConstants#KAFKA_RECORD_META.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param recordMetadata the value to set
+         * @return the dsl builder
+         */
+        default AdvancedKafkaEndpointProducerBuilder recordMetadata(boolean 
recordMetadata) {
+            doSetProperty("recordMetadata", recordMetadata);
+            return this;
+        }
+        /**
+         * Whether the producer should store the RecordMetadata results from
+         * sending to Kafka. The results are stored in a List containing the
+         * RecordMetadata metadata's. The list is stored on a header with the
+         * key KafkaConstants#KAFKA_RECORD_META.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: false
+         * Group: producer (advanced)
+         * 
+         * @param recordMetadata the value to set
+         * @return the dsl builder
+         */
+        default AdvancedKafkaEndpointProducerBuilder recordMetadata(String 
recordMetadata) {
+            doSetProperty("recordMetadata", recordMetadata);
+            return this;
+        }
         /**
          * Factory to use for creating
          * org.apache.kafka.clients.consumer.KafkaConsumer and

Reply via email to