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

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


The following commit(s) were added to refs/heads/main by this push:
     new 6899726df29 Regen
6899726df29 is described below

commit 6899726df29c616cd2ba220665ef23418c8f21ed
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Sep 6 07:29:25 2022 +0200

    Regen
---
 .../camel/springboot/catalog/components/dozer.json |  2 +-
 .../camel/springboot/catalog/components/imap.json  |  2 ++
 .../camel/springboot/catalog/components/imaps.json |  2 ++
 .../camel/springboot/catalog/components/kafka.json | 12 +++++------
 .../camel/springboot/catalog/components/pop3.json  |  2 ++
 .../camel/springboot/catalog/components/pop3s.json |  2 ++
 .../springboot/catalog/components/quartz.json      |  2 +-
 .../camel/springboot/catalog/components/smtp.json  |  2 ++
 .../camel/springboot/catalog/components/smtps.json |  2 ++
 .../camel-kafka-starter/src/main/docs/kafka.json   |  6 +++---
 .../springboot/KafkaComponentConfiguration.java    | 23 ++++++++++++----------
 .../camel-mail-starter/src/main/docs/mail.json     |  7 +++++++
 .../springboot/MailComponentConfiguration.java     | 16 +++++++++++++++
 13 files changed, 59 insertions(+), 21 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dozer.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dozer.json
index 9ccd0ce7d0d..005f46d288b 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dozer.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/dozer.json
@@ -4,7 +4,7 @@
     "name": "dozer",
     "title": "Dozer",
     "description": "Map between Java beans using the Dozer mapping library.",
-    "deprecated": false,
+    "deprecated": true,
     "firstVersion": "2.15.0",
     "label": "transformation",
     "javaType": "org.apache.camel.component.dozer.DozerComponent",
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/imap.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/imap.json
index 45c56629d0d..3976a1eb9c3 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/imap.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/imap.json
@@ -36,6 +36,7 @@
     "peek": { "kind": "property", "displayName": "Peek", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Will mark the javax.mail.Message as peeked 
before processing the mail message. This applies to IMAP [...]
     "skipFailedMessage": { "kind": "property", "displayName": "Skip Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then this o [...]
     "unseen": { "kind": "property", "displayName": "Unseen", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to limit by unseen mails only." },
+    "failOnDuplicateFileAttachment": { "kind": "property", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the 
mail [...]
     "fetchSize": { "kind": "property", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be  [...]
     "folderName": { "kind": "property", "displayName": "Folder Name", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "INBOX", "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "The folder to poll." },
     "mapMailMessage": { "kind": "property", "displayName": "Map Mail Message", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "Specifies whether Camel 
should map the received mail message to Camel body\/head [...]
@@ -100,6 +101,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Allows for bridging the consumer to the Camel routing Error 
Handler, which mean any exceptions occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "failOnDuplicateFileAttachment": { "kind": "parameter", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the mai 
[...]
     "fetchSize": { "kind": "parameter", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be [...]
     "folderName": { "kind": "parameter", "displayName": "Folder Name", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "INBOX", 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "The folder to poll." },
     "mailUidGenerator": { "kind": "parameter", "displayName": "Mail Uid 
Generator", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.component.mail.MailUidGenerator", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
MailUidGenerator that allows to use custom logic to generate UUID of the mail 
message." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/imaps.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/imaps.json
index 0a675fec1da..2c763e29041 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/imaps.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/imaps.json
@@ -36,6 +36,7 @@
     "peek": { "kind": "property", "displayName": "Peek", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Will mark the javax.mail.Message as peeked 
before processing the mail message. This applies to IMAP [...]
     "skipFailedMessage": { "kind": "property", "displayName": "Skip Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then this o [...]
     "unseen": { "kind": "property", "displayName": "Unseen", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to limit by unseen mails only." },
+    "failOnDuplicateFileAttachment": { "kind": "property", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the 
mail [...]
     "fetchSize": { "kind": "property", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be  [...]
     "folderName": { "kind": "property", "displayName": "Folder Name", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "INBOX", "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "The folder to poll." },
     "mapMailMessage": { "kind": "property", "displayName": "Map Mail Message", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "Specifies whether Camel 
should map the received mail message to Camel body\/head [...]
@@ -100,6 +101,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Allows for bridging the consumer to the Camel routing Error 
Handler, which mean any exceptions occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "failOnDuplicateFileAttachment": { "kind": "parameter", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the mai 
[...]
     "fetchSize": { "kind": "parameter", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be [...]
     "folderName": { "kind": "parameter", "displayName": "Folder Name", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "INBOX", 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "The folder to poll." },
     "mailUidGenerator": { "kind": "parameter", "displayName": "Mail Uid 
Generator", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.component.mail.MailUidGenerator", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
MailUidGenerator that allows to use custom logic to generate UUID of the mail 
message." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kafka.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kafka.json
index 0881b661941..166832c9621 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kafka.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/kafka.json
@@ -76,12 +76,12 @@
     "keySerializer": { "kind": "property", "displayName": "Key Serializer", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class for keys (defaults t [...]
     "lazyStartProducer": { "kind": "property", "displayName": "Lazy Start 
Producer", "group": "producer", "label": "producer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "description": "Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during star [...]
     "lingerMs": { "kind": "property", "displayName": "Linger Ms", "group": 
"producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "0", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The producer groups together any records that 
arrive in between request transmissions into a single ba [...]
-    "maxBlockMs": { "kind": "property", "displayName": "Max Block Ms", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "60000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The configuration controls how long sending to 
kafka will block. These methods can be blocked [...]
+    "maxBlockMs": { "kind": "property", "displayName": "Max Block Ms", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "60000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The configuration controls how long the 
KafkaProducer's send(), partitionsFor(), initTransact [...]
     "maxInFlightRequest": { "kind": "property", "displayName": "Max In Flight 
Request", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "5", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The maximum number of unacknowledged requests 
the client will send on a single c [...]
     "maxRequestSize": { "kind": "property", "displayName": "Max Request Size", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "1048576", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The maximum size of a request. This is also 
effectively a cap on the maximum record [...]
     "metadataMaxAgeMs": { "kind": "property", "displayName": "Metadata Max Age 
Ms", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "300000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The period of time in milliseconds after which 
we force a refresh of metadata e [...]
     "metricReporters": { "kind": "property", "displayName": "Metric 
Reporters", "group": "producer", "label": "producer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "A list of classes to use as metrics reporters. 
Implementing the MetricReporter interface allows plugging in cla [...]
-    "metricsSampleWindowMs": { "kind": "property", "displayName": "Metrics 
Sample Window 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 number of samples 
maintained to compute metrics." },
+    "metricsSampleWindowMs": { "kind": "property", "displayName": "Metrics 
Sample Window 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 window of time a 
metrics sample is computed over." },
     "noOfMetricsSample": { "kind": "property", "displayName": "No Of Metrics 
Sample", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "2", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of samples maintained to compute 
metrics." },
     "partitioner": { "kind": "property", "displayName": "Partitioner", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"org.apache.kafka.clients.producer.internals.DefaultPartitioner", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The partitioner class 
for partitioning [...]
     "partitionKey": { "kind": "property", "displayName": "Partition Key", 
"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": "The partition to which the record will be sent 
(or null if no partition was specified). If this option has been con [...]
@@ -106,7 +106,7 @@
     "interceptorClasses": { "kind": "property", "displayName": "Interceptor 
Classes", "group": "monitoring", "label": "common,monitoring", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Sets interceptors for producer or consumers. 
Producer interceptors have to be classes implemen [...]
     "kerberosBeforeReloginMinTime": { "kind": "property", "displayName": 
"Kerberos Before Relogin Min Time", "group": "security", "label": 
"common,security", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "60000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Login thread sleep time between refresh 
attempts." },
     "kerberosInitCmd": { "kind": "property", "displayName": "Kerberos Init 
Cmd", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "\/usr\/bin\/kinit", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Kerberos kinit command 
path. Default is \/usr\/bin\/kinit" },
-    "kerberosPrincipalToLocalRules": { "kind": "property", "displayName": 
"Kerberos Principal To Local Rules", "group": "security", "label": 
"common,security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "DEFAULT", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "A list of rules for mapping from principal nam 
[...]
+    "kerberosPrincipalToLocalRules": { "kind": "property", "displayName": 
"Kerberos Principal To Local Rules", "group": "security", "label": 
"common,security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "DEFAULT", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "A list of rules for mapping from principal nam 
[...]
     "kerberosRenewJitter": { "kind": "property", "displayName": "Kerberos 
Renew Jitter", "group": "security", "label": "common,security", "required": 
false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0.05", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Percentage of random 
jitter added to the renewal time." },
     "kerberosRenewWindowFactor": { "kind": "property", "displayName": 
"Kerberos Renew Window Factor", "group": "security", "label": 
"common,security", "required": false, "type": "number", "javaType": 
"java.lang.Double", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "0.8", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Login thread will sleep until the specified 
window factor o [...]
     "saslJaasConfig": { "kind": "property", "displayName": "Sasl Jaas Config", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Expose the kafka sasl.jaas.config parameter 
Example: org.apache.kafka.common.security.plain.PlainLoginModu [...]
@@ -196,12 +196,12 @@
     "key": { "kind": "parameter", "displayName": "Key", "group": "producer", 
"label": "producer", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The record key (or null 
if no key is specified). If this option has been configured then it take 
precedence over header KafkaConstants#KEY" },
     "keySerializer": { "kind": "parameter", "displayName": "Key Serializer", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"org.apache.kafka.common.serialization.StringSerializer", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The serializer class for keys (defaults  [...]
     "lingerMs": { "kind": "parameter", "displayName": "Linger Ms", "group": 
"producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "0", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The producer groups together any records that 
arrive in between request transmissions into a single b [...]
-    "maxBlockMs": { "kind": "parameter", "displayName": "Max Block Ms", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "60000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The configuration controls how long sending to 
kafka will block. These methods can be blocke [...]
+    "maxBlockMs": { "kind": "parameter", "displayName": "Max Block Ms", 
"group": "producer", "label": "producer", "required": false, "type": "integer", 
"javaType": "java.lang.Integer", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": "60000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The configuration controls how long the 
KafkaProducer's send(), partitionsFor(), initTransac [...]
     "maxInFlightRequest": { "kind": "parameter", "displayName": "Max In Flight 
Request", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "5", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The maximum number of unacknowledged requests 
the client will send on a single  [...]
     "maxRequestSize": { "kind": "parameter", "displayName": "Max Request 
Size", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "1048576", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The maximum size of a request. This is also 
effectively a cap on the maximum recor [...]
     "metadataMaxAgeMs": { "kind": "parameter", "displayName": "Metadata Max 
Age Ms", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "300000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The period of time in milliseconds after which 
we force a refresh of metadata  [...]
     "metricReporters": { "kind": "parameter", "displayName": "Metric 
Reporters", "group": "producer", "label": "producer", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "A list of classes to use as metrics reporters. 
Implementing the MetricReporter interface allows plugging in cl [...]
-    "metricsSampleWindowMs": { "kind": "parameter", "displayName": "Metrics 
Sample Window 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 number of samples 
maintained to compute metrics." },
+    "metricsSampleWindowMs": { "kind": "parameter", "displayName": "Metrics 
Sample Window 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 window of time a 
metrics sample is computed over." },
     "noOfMetricsSample": { "kind": "parameter", "displayName": "No Of Metrics 
Sample", "group": "producer", "label": "producer", "required": false, "type": 
"integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "2", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "The number of samples maintained to compute 
metrics." },
     "partitioner": { "kind": "parameter", "displayName": "Partitioner", 
"group": "producer", "label": "producer", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 
"org.apache.kafka.clients.producer.internals.DefaultPartitioner", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "The partitioner class 
for partitionin [...]
     "partitionKey": { "kind": "parameter", "displayName": "Partition Key", 
"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": "The partition to which the record will be sent 
(or null if no partition was specified). If this option has been co [...]
@@ -226,7 +226,7 @@
     "interceptorClasses": { "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 classes impleme [...]
     "kerberosBeforeReloginMinTime": { "kind": "parameter", "displayName": 
"Kerberos Before Relogin Min Time", "group": "security", "label": 
"common,security", "required": false, "type": "integer", "javaType": 
"java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "60000", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Login thread sleep time between refresh 
attempts." },
     "kerberosInitCmd": { "kind": "parameter", "displayName": "Kerberos Init 
Cmd", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "\/usr\/bin\/kinit", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Kerberos kinit command 
path. Default is \/usr\/bin\/kinit" },
-    "kerberosPrincipalToLocalRules": { "kind": "parameter", "displayName": 
"Kerberos Principal To Local Rules", "group": "security", "label": 
"common,security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "DEFAULT", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "A list of rules for mapping from principal na 
[...]
+    "kerberosPrincipalToLocalRules": { "kind": "parameter", "displayName": 
"Kerberos Principal To Local Rules", "group": "security", "label": 
"common,security", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "DEFAULT", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "A list of rules for mapping from principal na 
[...]
     "kerberosRenewJitter": { "kind": "parameter", "displayName": "Kerberos 
Renew Jitter", "group": "security", "label": "common,security", "required": 
false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "0.05", 
"configurationClass": "org.apache.camel.component.kafka.KafkaConfiguration", 
"configurationField": "configuration", "description": "Percentage of random 
jitter added to the renewal time." },
     "kerberosRenewWindowFactor": { "kind": "parameter", "displayName": 
"Kerberos Renew Window Factor", "group": "security", "label": 
"common,security", "required": false, "type": "number", "javaType": 
"java.lang.Double", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "0.8", "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Login thread will sleep until the specified 
window factor  [...]
     "saslJaasConfig": { "kind": "parameter", "displayName": "Sasl Jaas 
Config", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "configurationClass": 
"org.apache.camel.component.kafka.KafkaConfiguration", "configurationField": 
"configuration", "description": "Expose the kafka sasl.jaas.config parameter 
Example: org.apache.kafka.common.security.plain.PlainLoginMod [...]
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pop3.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pop3.json
index 20958c47af7..51453b19654 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pop3.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pop3.json
@@ -36,6 +36,7 @@
     "peek": { "kind": "property", "displayName": "Peek", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Will mark the javax.mail.Message as peeked 
before processing the mail message. This applies to IMAP [...]
     "skipFailedMessage": { "kind": "property", "displayName": "Skip Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then this o [...]
     "unseen": { "kind": "property", "displayName": "Unseen", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to limit by unseen mails only." },
+    "failOnDuplicateFileAttachment": { "kind": "property", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the 
mail [...]
     "fetchSize": { "kind": "property", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be  [...]
     "folderName": { "kind": "property", "displayName": "Folder Name", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "INBOX", "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "The folder to poll." },
     "mapMailMessage": { "kind": "property", "displayName": "Map Mail Message", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "Specifies whether Camel 
should map the received mail message to Camel body\/head [...]
@@ -100,6 +101,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Allows for bridging the consumer to the Camel routing Error 
Handler, which mean any exceptions occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "failOnDuplicateFileAttachment": { "kind": "parameter", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the mai 
[...]
     "fetchSize": { "kind": "parameter", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be [...]
     "folderName": { "kind": "parameter", "displayName": "Folder Name", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "INBOX", 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "The folder to poll." },
     "mailUidGenerator": { "kind": "parameter", "displayName": "Mail Uid 
Generator", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.component.mail.MailUidGenerator", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
MailUidGenerator that allows to use custom logic to generate UUID of the mail 
message." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pop3s.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pop3s.json
index 7cc1cfc71e0..64fa05f3173 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pop3s.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/pop3s.json
@@ -36,6 +36,7 @@
     "peek": { "kind": "property", "displayName": "Peek", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Will mark the javax.mail.Message as peeked 
before processing the mail message. This applies to IMAP [...]
     "skipFailedMessage": { "kind": "property", "displayName": "Skip Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then this o [...]
     "unseen": { "kind": "property", "displayName": "Unseen", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to limit by unseen mails only." },
+    "failOnDuplicateFileAttachment": { "kind": "property", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the 
mail [...]
     "fetchSize": { "kind": "property", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be  [...]
     "folderName": { "kind": "property", "displayName": "Folder Name", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "INBOX", "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "The folder to poll." },
     "mapMailMessage": { "kind": "property", "displayName": "Map Mail Message", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "Specifies whether Camel 
should map the received mail message to Camel body\/head [...]
@@ -100,6 +101,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Allows for bridging the consumer to the Camel routing Error 
Handler, which mean any exceptions occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "failOnDuplicateFileAttachment": { "kind": "parameter", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the mai 
[...]
     "fetchSize": { "kind": "parameter", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be [...]
     "folderName": { "kind": "parameter", "displayName": "Folder Name", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "INBOX", 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "The folder to poll." },
     "mailUidGenerator": { "kind": "parameter", "displayName": "Mail Uid 
Generator", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.component.mail.MailUidGenerator", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
MailUidGenerator that allows to use custom logic to generate UUID of the mail 
message." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/quartz.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/quartz.json
index ca92e91281c..66a484b73d3 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/quartz.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/quartz.json
@@ -30,7 +30,7 @@
     "propertiesFile": { "kind": "property", "displayName": "Properties File", 
"group": "consumer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "File name of the properties to load from the 
classpath" },
     "propertiesRef": { "kind": "property", "displayName": "Properties Ref", 
"group": "consumer", "label": "", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "References to an existing Properties or Map to 
lookup in the registry to use for configuring quartz." },
     "autowiredEnabled": { "kind": "property", "displayName": "Autowired 
Enabled", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "description": "Whether autowiring is 
enabled. This is used for automatic autowiring options (the option must be 
marked as autowired) by looking up in the registry to find if there is a single 
instance of matching type, which t [...]
-    "scheduler": { "kind": "property", "displayName": "Scheduler", "group": 
"advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "org.quartz.Scheduler", "deprecated": false, "autowired": false, 
"secret": false, "description": "To use the custom configured Quartz scheduler, 
instead of creating a new Scheduler." },
+    "scheduler": { "kind": "property", "displayName": "Scheduler", "group": 
"advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "org.quartz.Scheduler", "deprecated": false, "autowired": true, 
"secret": false, "description": "To use the custom configured Quartz scheduler, 
instead of creating a new Scheduler." },
     "schedulerFactory": { "kind": "property", "displayName": "Scheduler 
Factory", "group": "advanced", "label": "advanced", "required": false, "type": 
"object", "javaType": "org.quartz.SchedulerFactory", "deprecated": false, 
"autowired": false, "secret": false, "description": "To use the custom 
SchedulerFactory which is used to create the Scheduler." },
     "autoStartScheduler": { "kind": "property", "displayName": "Auto Start 
Scheduler", "group": "scheduler", "label": "scheduler", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": true, "description": "Whether or not 
the scheduler should be auto started. This options is default true" },
     "interruptJobsOnShutdown": { "kind": "property", "displayName": "Interrupt 
Jobs On Shutdown", "group": "scheduler", "label": "scheduler", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether to interrupt jobs on shutdown which forces the scheduler to shutdown 
quicker and attempt to interrupt any running jobs. If this is enabled then any 
running jobs can fail due to being i [...]
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smtp.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smtp.json
index 104225a7308..9adedcbe9b6 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smtp.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smtp.json
@@ -36,6 +36,7 @@
     "peek": { "kind": "property", "displayName": "Peek", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Will mark the javax.mail.Message as peeked 
before processing the mail message. This applies to IMAP [...]
     "skipFailedMessage": { "kind": "property", "displayName": "Skip Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then this o [...]
     "unseen": { "kind": "property", "displayName": "Unseen", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to limit by unseen mails only." },
+    "failOnDuplicateFileAttachment": { "kind": "property", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the 
mail [...]
     "fetchSize": { "kind": "property", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be  [...]
     "folderName": { "kind": "property", "displayName": "Folder Name", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "INBOX", "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "The folder to poll." },
     "mapMailMessage": { "kind": "property", "displayName": "Map Mail Message", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "Specifies whether Camel 
should map the received mail message to Camel body\/head [...]
@@ -100,6 +101,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Allows for bridging the consumer to the Camel routing Error 
Handler, which mean any exceptions occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "failOnDuplicateFileAttachment": { "kind": "parameter", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the mai 
[...]
     "fetchSize": { "kind": "parameter", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be [...]
     "folderName": { "kind": "parameter", "displayName": "Folder Name", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "INBOX", 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "The folder to poll." },
     "mailUidGenerator": { "kind": "parameter", "displayName": "Mail Uid 
Generator", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.component.mail.MailUidGenerator", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
MailUidGenerator that allows to use custom logic to generate UUID of the mail 
message." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smtps.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smtps.json
index 2fc50756ff4..b1ce9ef7257 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smtps.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/smtps.json
@@ -36,6 +36,7 @@
     "peek": { "kind": "property", "displayName": "Peek", "group": "consumer", 
"label": "consumer", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Will mark the javax.mail.Message as peeked 
before processing the mail message. This applies to IMAP [...]
     "skipFailedMessage": { "kind": "property", "displayName": "Skip Failed 
Message", "group": "consumer", "label": "consumer", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": false, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "If the mail consumer 
cannot retrieve a given mail message, then this o [...]
     "unseen": { "kind": "property", "displayName": "Unseen", "group": 
"consumer", "label": "consumer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to limit by unseen mails only." },
+    "failOnDuplicateFileAttachment": { "kind": "property", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the 
mail [...]
     "fetchSize": { "kind": "property", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be  [...]
     "folderName": { "kind": "property", "displayName": "Folder Name", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": "INBOX", "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "The folder to poll." },
     "mapMailMessage": { "kind": "property", "displayName": "Map Mail Message", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "Specifies whether Camel 
should map the received mail message to Camel body\/head [...]
@@ -100,6 +101,7 @@
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "boolean", "javaType": "boolean", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": false, 
"description": "Allows for bridging the consumer to the Camel routing Error 
Handler, which mean any exceptions occurred while the consumer is trying to 
pickup incoming messages, or the likes, will now [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception 
Handler", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
let the consumer use a custom ExceptionHandler. Notice if the option 
bridgeErrorHandler is enabled then this option is not in use. By default the 
con [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange 
Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", 
"InOptionalOut" ], "deprecated": false, "autowired": false, "secret": false, 
"description": "Sets the exchange pattern when the consumer creates an 
exchange." },
+    "failOnDuplicateFileAttachment": { "kind": "parameter", "displayName": 
"Fail On Duplicate File Attachment", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Whether to fail processing the mail if the mai 
[...]
     "fetchSize": { "kind": "parameter", "displayName": "Fetch Size", "group": 
"consumer (advanced)", "label": "consumer,advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass": 
"org.apache.camel.component.mail.MailConfiguration", "configurationField": 
"configuration", "description": "Sets the maximum number of messages to consume 
during a poll. This can be [...]
     "folderName": { "kind": "parameter", "displayName": "Folder Name", 
"group": "consumer (advanced)", "label": "consumer,advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": "INBOX", 
"configurationClass": "org.apache.camel.component.mail.MailConfiguration", 
"configurationField": "configuration", "description": "The folder to poll." },
     "mailUidGenerator": { "kind": "parameter", "displayName": "Mail Uid 
Generator", "group": "consumer (advanced)", "label": "consumer,advanced", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.component.mail.MailUidGenerator", "deprecated": false, 
"autowired": false, "secret": false, "description": "A pluggable 
MailUidGenerator that allows to use custom logic to generate UUID of the mail 
message." },
diff --git a/components-starter/camel-kafka-starter/src/main/docs/kafka.json 
b/components-starter/camel-kafka-starter/src/main/docs/kafka.json
index 0b06b6c785f..25ce01c0f69 100644
--- a/components-starter/camel-kafka-starter/src/main/docs/kafka.json
+++ b/components-starter/camel-kafka-starter/src/main/docs/kafka.json
@@ -273,7 +273,7 @@
     {
       "name": "camel.component.kafka.kerberos-principal-to-local-rules",
       "type": "java.lang.String",
-      "description": "A list of rules for mapping from principal names to 
short names (typically operating system usernames). The rules are evaluated in 
order and the first rule that matches a principal name is used to map it to a 
short name. Any later rules in the list are ignored. By default, principal 
names of the form {username}\/{hostname}{REALM} are mapped to {username}. For 
more details on the format please see the security authorization and acls 
documentation.. Multiple values ca [...]
+      "description": "A list of rules for mapping from principal names to 
short names (typically operating system usernames). The rules are evaluated in 
order and the first rule that matches a principal name is used to map it to a 
short name. Any later rules in the list are ignored. By default, principal 
names of the form {username}\/{hostname}{REALM} are mapped to {username}. For 
more details on the format please see the security authorization and acls 
documentation (at the Apache Kafka [...]
       "sourceType": 
"org.apache.camel.component.kafka.springboot.KafkaComponentConfiguration",
       "defaultValue": "DEFAULT"
     },
@@ -326,7 +326,7 @@
     {
       "name": "camel.component.kafka.max-block-ms",
       "type": "java.lang.Integer",
-      "description": "The configuration controls how long sending to kafka 
will block. These methods can be blocked for multiple reasons. For e.g: buffer 
full, metadata unavailable.This configuration imposes maximum limit on the 
total time spent in fetching metadata, serialization of key and value, 
partitioning and allocation of buffer memory when doing a send(). In case of 
partitionsFor(), this configuration imposes a maximum time threshold on waiting 
for metadata",
+      "description": "The configuration controls how long the KafkaProducer's 
send(), partitionsFor(), initTransactions(), sendOffsetsToTransaction(), 
commitTransaction() and abortTransaction() methods will block. For send() this 
timeout bounds the total time waiting for both metadata fetch and buffer 
allocation (blocking in the user-supplied serializers or partitioner is not 
counted against this timeout). For partitionsFor() this timeout bounds the time 
spent waiting for metadata if it  [...]
       "sourceType": 
"org.apache.camel.component.kafka.springboot.KafkaComponentConfiguration",
       "defaultValue": 60000
     },
@@ -380,7 +380,7 @@
     {
       "name": "camel.component.kafka.metrics-sample-window-ms",
       "type": "java.lang.Integer",
-      "description": "The number of samples maintained to compute metrics.",
+      "description": "The window of time a metrics sample is computed over.",
       "sourceType": 
"org.apache.camel.component.kafka.springboot.KafkaComponentConfiguration",
       "defaultValue": 30000
     },
diff --git 
a/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConfiguration.java
 
b/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConfiguration.java
index 0f3794d4681..6fd41f90644 100644
--- 
a/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConfiguration.java
+++ 
b/components-starter/camel-kafka-starter/src/main/java/org/apache/camel/component/kafka/springboot/KafkaComponentConfiguration.java
@@ -455,13 +455,16 @@ public class KafkaComponentConfiguration
      */
     private Integer lingerMs = 0;
     /**
-     * The configuration controls how long sending to kafka will block. These
-     * methods can be blocked for multiple reasons. For e.g: buffer full,
-     * metadata unavailable.This configuration imposes maximum limit on the
-     * total time spent in fetching metadata, serialization of key and value,
-     * partitioning and allocation of buffer memory when doing a send(). In 
case
-     * of partitionsFor(), this configuration imposes a maximum time threshold
-     * on waiting for metadata
+     * The configuration controls how long the KafkaProducer's send(),
+     * partitionsFor(), initTransactions(), sendOffsetsToTransaction(),
+     * commitTransaction() and abortTransaction() methods will block. For 
send()
+     * this timeout bounds the total time waiting for both metadata fetch and
+     * buffer allocation (blocking in the user-supplied serializers or
+     * partitioner is not counted against this timeout). For partitionsFor()
+     * this timeout bounds the time spent waiting for metadata if it is
+     * unavailable. The transaction-related methods always block, but may
+     * timeout if the transaction coordinator could not be discovered or did 
not
+     * respond within the timeout.
      */
     private Integer maxBlockMs = 60000;
     /**
@@ -493,7 +496,7 @@ public class KafkaComponentConfiguration
      */
     private String metricReporters;
     /**
-     * The number of samples maintained to compute metrics.
+     * The window of time a metrics sample is computed over.
      */
     private Integer metricsSampleWindowMs = 30000;
     /**
@@ -673,8 +676,8 @@ public class KafkaComponentConfiguration
      * short name. Any later rules in the list are ignored. By default,
      * principal names of the form {username}/{hostname}{REALM} are mapped to
      * {username}. For more details on the format please see the security
-     * authorization and acls documentation.. Multiple values can be separated
-     * by comma
+     * authorization and acls documentation (at the Apache Kafka project).
+     * Multiple values can be separated by comma
      */
     private String kerberosPrincipalToLocalRules = "DEFAULT";
     /**
diff --git a/components-starter/camel-mail-starter/src/main/docs/mail.json 
b/components-starter/camel-mail-starter/src/main/docs/mail.json
index 8d3de7116ba..be155034526 100644
--- a/components-starter/camel-mail-starter/src/main/docs/mail.json
+++ b/components-starter/camel-mail-starter/src/main/docs/mail.json
@@ -153,6 +153,13 @@
       "description": "Whether to enable auto configuration of the mail 
component. This is enabled by default.",
       "sourceType": 
"org.apache.camel.component.mail.springboot.MailComponentConfiguration"
     },
+    {
+      "name": "camel.component.mail.fail-on-duplicate-file-attachment",
+      "type": "java.lang.Boolean",
+      "description": "Whether to fail processing the mail if the mail message 
contains attachments with duplicate file names. If set to false, then the 
duplicate attachment is skipped and a WARN is logged. If set to true then an 
exception is thrown failing to process the mail message.",
+      "sourceType": 
"org.apache.camel.component.mail.springboot.MailComponentConfiguration",
+      "defaultValue": false
+    },
     {
       "name": "camel.component.mail.fetch-size",
       "type": "java.lang.Integer",
diff --git 
a/components-starter/camel-mail-starter/src/main/java/org/apache/camel/component/mail/springboot/MailComponentConfiguration.java
 
b/components-starter/camel-mail-starter/src/main/java/org/apache/camel/component/mail/springboot/MailComponentConfiguration.java
index a2759039db5..3a98f5da542 100644
--- 
a/components-starter/camel-mail-starter/src/main/java/org/apache/camel/component/mail/springboot/MailComponentConfiguration.java
+++ 
b/components-starter/camel-mail-starter/src/main/java/org/apache/camel/component/mail/springboot/MailComponentConfiguration.java
@@ -126,6 +126,13 @@ public class MailComponentConfiguration
      * Whether to limit by unseen mails only.
      */
     private Boolean unseen = true;
+    /**
+     * Whether to fail processing the mail if the mail message contains
+     * attachments with duplicate file names. If set to false, then the
+     * duplicate attachment is skipped and a WARN is logged. If set to true 
then
+     * an exception is thrown failing to process the mail message.
+     */
+    private Boolean failOnDuplicateFileAttachment = false;
     /**
      * Sets the maximum number of messages to consume during a poll. This can 
be
      * used to avoid overloading a mail server, if a mailbox folder contains a
@@ -403,6 +410,15 @@ public class MailComponentConfiguration
         this.unseen = unseen;
     }
 
+    public Boolean getFailOnDuplicateFileAttachment() {
+        return failOnDuplicateFileAttachment;
+    }
+
+    public void setFailOnDuplicateFileAttachment(
+            Boolean failOnDuplicateFileAttachment) {
+        this.failOnDuplicateFileAttachment = failOnDuplicateFileAttachment;
+    }
+
     public Integer getFetchSize() {
         return fetchSize;
     }

Reply via email to