This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.10.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.10.x by this push:
new 34dfdd4ae14 CAMEL-21788: camel-kafka - Turn recordMetadata off by
default
34dfdd4ae14 is described below
commit 34dfdd4ae14a62c836f15cf2e7cc4f47f306a7f8
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 | 34 ++++++++++
.../dsl/KafkaComponentBuilderFactory.java | 42 ++++++-------
.../endpoint/dsl/KafkaEndpointBuilderFactory.java | 72 +++++++++++-----------
11 files changed, 149 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 6de9af8ce5b..56ef619686b 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
@@ -98,16 +98,16 @@
"queueBufferingMaxMessages": { "index": 71, "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": 72, "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": 73, "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": 74, "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": 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 [...]
+ "requestRequiredAcks": { "index": 74, "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": 75, "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": 76, "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": 77, "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": 78, "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": 79, "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": 80, "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": 81, "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": 82, "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": 83, "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": 84, "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": 85, "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": 86, "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" },
@@ -228,17 +228,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 6de9af8ce5b..56ef619686b 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
@@ -98,16 +98,16 @@
"queueBufferingMaxMessages": { "index": 71, "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": 72, "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": 73, "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": 74, "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": 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 [...]
+ "requestRequiredAcks": { "index": 74, "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": 75, "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": 76, "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": 77, "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": 78, "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": 79, "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": 80, "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": 81, "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": 82, "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": 83, "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": 84, "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": 85, "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": 86, "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" },
@@ -228,17 +228,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 0ee358a5689..d5c313c68db 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 7698380408f..d35d0e50dca 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
@@ -4,6 +4,40 @@ This document is for helping you upgrade your Apache Camel
application
from Camel 4.x to 4.y. For example, if you are upgrading Camel 4.0 to 4.2,
then you should follow the guides
from both 4.0 to 4.1 and 4.1 to 4.2.
+<<<<<<< HEAD
+=======
+== Upgrading from 4.10.0 to 4.10.1
+
+=== camel-api
+
+Added `removeTraits` method to `org.apache.camel.Message`.
+
+=== camel-attachments
+
+The attachments have been refactored to be stored internally as a _message
trait_,
+and the `org.apache.camel.attachment.AttachmentMessage` is only a facade to
provide
+end user access to the fine-grained Attachment APIs. The underlying message
implementation
+such as `DefaultMessage` in the `Exchange` is un-affected when converting from
`Message` to `AttachmentMessage` via:
+
+[source,java]
+----
+AttachmentMessage am = exchange.getMessage(AttachmentMessage.class);
+am.addAttachment("message1.xml", new DataHandler(new FileDataSource(new
File("src/test/data/message1.xml"))));
+----
+
+The class `org.apache.camel.attachment.AttachmentMap` has been removed.
+Removed `getDelegateMessage` method from
`org.apache.camel.attachment.AttachmentMessage`.
+
+=== camel-ftp
+
+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`.
+
+>>>>>>> 0c05a351261 (CAMEL-21788: camel-kafka - Turn recordMetadata off by
default)
== Upgrading Camel 4.9 to 4.10
=== XML DSL changes
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 8c51614c7fd..27da61c17e5 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
@@ -1570,26 +1570,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_RECORDMETA.
- *
- * 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
@@ -1790,6 +1770,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_RECORDMETA.
+ *
+ * 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
@@ -2490,7 +2490,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;
@@ -2500,6 +2499,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 1f47c78e78f..69ee4cdfc37 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_RECORDMETA.
- *
- * 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_RECORDMETA.
- *
- * 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_RECORDMETA.
+ *
+ * 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_RECORDMETA.
+ *
+ * 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