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: <code>boolean</code> 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: <code>boolean</code> 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