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 84bf9b4a6c2 Regen
84bf9b4a6c2 is described below

commit 84bf9b4a6c251bb1cc6405b9393e8460d89d0cbf
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Feb 9 07:21:23 2026 +0100

    Regen
---
 .../springboot/catalog/components/coap+tcp.json    | 24 +++++----
 .../camel/springboot/catalog/components/coap.json  | 24 +++++----
 .../springboot/catalog/components/coaps+tcp.json   | 24 +++++----
 .../camel/springboot/catalog/components/coaps.json | 24 +++++----
 .../springboot/CoAPComponentAutoConfiguration.java |  2 +-
 .../springboot/CoAPComponentConfiguration.java     | 14 +++++
 .../coap/springboot/CoAPComponentConverter.java    | 63 ++++++++++++++++++++++
 ...rk.boot.autoconfigure.AutoConfiguration.imports |  3 +-
 8 files changed, 132 insertions(+), 46 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coap+tcp.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coap+tcp.json
index 7aaf2a9ae68..674eadd3b8c 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coap+tcp.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coap+tcp.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "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 (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "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 [...]
-    "autowiredEnabled": { "index": 3, "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 t [...]
+    "client": { "index": 3, "kind": "property", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
+    "autowiredEnabled": { "index": 4, "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 t [...]
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -46,15 +47,16 @@
     "exceptionHandler": { "index": 5, "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 def [...]
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
-    "lazyStartProducer": { "index": 8, "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 produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "client": { "index": 8, "kind": "parameter", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
+    "lazyStartProducer": { "index": 9, "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 produc [...]
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coap.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coap.json
index 6e0dd21f98c..2cfb30c9feb 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coap.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coap.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "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 (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "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 [...]
-    "autowiredEnabled": { "index": 3, "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 t [...]
+    "client": { "index": 3, "kind": "property", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
+    "autowiredEnabled": { "index": 4, "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 t [...]
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -46,15 +47,16 @@
     "exceptionHandler": { "index": 5, "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 def [...]
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
-    "lazyStartProducer": { "index": 8, "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 produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "client": { "index": 8, "kind": "parameter", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
+    "lazyStartProducer": { "index": 9, "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 produc [...]
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coaps+tcp.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coaps+tcp.json
index 691037d76e6..8e2dfc33364 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coaps+tcp.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coaps+tcp.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "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 (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "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 [...]
-    "autowiredEnabled": { "index": 3, "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 t [...]
+    "client": { "index": 3, "kind": "property", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
+    "autowiredEnabled": { "index": 4, "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 t [...]
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -46,15 +47,16 @@
     "exceptionHandler": { "index": 5, "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 def [...]
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
-    "lazyStartProducer": { "index": 8, "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 produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "client": { "index": 8, "kind": "parameter", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
+    "lazyStartProducer": { "index": 9, "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 produc [...]
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coaps.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coaps.json
index 702f892757b..072c25f5adb 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coaps.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/coaps.json
@@ -28,7 +28,8 @@
     "configurationFile": { "index": 0, "kind": "property", "displayName": 
"Configuration File", "group": "common", "label": "", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Name of COAP configuration 
file to load and use. Will by default load from classpath, so use file: as 
prefix to load from file system." },
     "bridgeErrorHandler": { "index": 1, "kind": "property", "displayName": 
"Bridge Error Handler", "group": "consumer", "label": "consumer", "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 (if possible) occurred while the Camel consumer is trying 
to pickup incoming messages, or the like [...]
     "lazyStartProducer": { "index": 2, "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 [...]
-    "autowiredEnabled": { "index": 3, "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 t [...]
+    "client": { "index": 3, "kind": "property", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
+    "autowiredEnabled": { "index": 4, "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 t [...]
   },
   "headers": {
     "CamelCoapETag": { "index": 0, "kind": "header", "displayName": "", 
"group": "common", "label": "", "required": false, "javaType": "byte[]", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The CoAP ETag for the response.", "constantName": 
"org.apache.camel.coap.CoAPConstants#COAP_ETAG" },
@@ -46,15 +47,16 @@
     "exceptionHandler": { "index": 5, "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 def [...]
     "exchangePattern": { "index": 6, "kind": "parameter", "displayName": 
"Exchange Pattern", "group": "consumer (advanced)", "label": 
"consumer,advanced", "required": false, "type": "enum", "javaType": 
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the exchange pattern when the consumer creates an exchange." },
     "notify": { "index": 7, "kind": "parameter", "displayName": "Notify", 
"group": "producer", "label": "producer", "required": false, "type": "boolean", 
"javaType": "boolean", "deprecated": false, "autowired": false, "secret": 
false, "defaultValue": false, "description": "Notify observers that the 
resource of this URI has changed, based on RFC 7641. Use this flag on a 
destination endpoint, with a URI that matches an existing source endpoint URI." 
},
-    "lazyStartProducer": { "index": 8, "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 produc [...]
-    "advancedCertificateVerifier": { "index": 9, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
-    "advancedPskStore": { "index": 10, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
-    "alias": { "index": 11, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
-    "cipherSuites": { "index": 12, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
-    "clientAuthentication": { "index": 13, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
-    "privateKey": { "index": 14, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
-    "publicKey": { "index": 15, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
-    "recommendedCipherSuitesOnly": { "index": 16, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
-    "sslContextParameters": { "index": 17, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
+    "client": { "index": 8, "kind": "parameter", "displayName": "Client", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "object", "javaType": "org.eclipse.californium.core.CoapClient", 
"deprecated": false, "autowired": false, "secret": false, "description": "To 
use a shared client for the producers" },
+    "lazyStartProducer": { "index": 9, "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 produc [...]
+    "advancedCertificateVerifier": { "index": 10, "kind": "parameter", 
"displayName": "Advanced Certificate Verifier", "group": "security", "label": 
"security", "required": false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedCertificateVerifier to use to determine trust in raw public keys." 
},
+    "advancedPskStore": { "index": 11, "kind": "parameter", "displayName": 
"Advanced Psk Store", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.californium.scandium.dtls.pskstore.AdvancedPskStore", 
"deprecated": false, "autowired": false, "secret": false, "description": "Set 
the AdvancedPskStore to use for pre-shared key." },
+    "alias": { "index": 12, "kind": "parameter", "displayName": "Alias", 
"group": "security", "label": "security", "required": false, "type": "enum", 
"javaType": "java.lang.String", "enum": [ "NONE", "WANT", "REQUIRE" ], 
"deprecated": false, "autowired": false, "secret": false, "description": "Sets 
the alias used to query the KeyStore for the private key and certificate. This 
parameter is used when we are enabling TLS with certificates on the service 
side, and similarly on the client sid [...]
+    "cipherSuites": { "index": 13, "kind": "parameter", "displayName": "Cipher 
Suites", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the cipherSuites String. This is a 
comma separated String of ciphersuites to configure. If it is not specified, 
then it falls back to getting the ciphersuites from the sslContextParameters 
object." },
+    "clientAuthentication": { "index": 14, "kind": "parameter", "displayName": 
"Client Authentication", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.eclipse.californium.elements.config.CertificateAuthenticationMode", 
"enum": [ "NONE", "WANTED", "NEEDED" ], "deprecated": false, "autowired": 
false, "secret": false, "description": "Sets the configuration options for 
server-side client-authentication requirements. The value must be one of NONE 
[...]
+    "privateKey": { "index": 15, "kind": "parameter", "displayName": "Private 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PrivateKey", "deprecated": false, 
"autowired": false, "secret": true, "description": "Set the configured private 
key for use with Raw Public Key." },
+    "publicKey": { "index": 16, "kind": "parameter", "displayName": "Public 
Key", "group": "security", "label": "security", "required": false, "type": 
"object", "javaType": "java.security.PublicKey", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the configured public 
key for use with Raw Public Key." },
+    "recommendedCipherSuitesOnly": { "index": 17, "kind": "parameter", 
"displayName": "Recommended Cipher Suites Only", "group": "security", "label": 
"security", "required": false, "type": "boolean", "javaType": "boolean", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": true, 
"description": "The CBC cipher suites are not recommended. If you want to use 
them, you first need to set the recommendedCipherSuitesOnly option to false." },
+    "sslContextParameters": { "index": 18, "kind": "parameter", "displayName": 
"Ssl Context Parameters", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, 
"autowired": false, "secret": false, "description": "Set the 
SSLContextParameters object for setting up TLS. This is required for coapstcp, 
and for coaps when we are using certificates for TLS (as opposed to RPK or 
PKS)." }
   }
 }
diff --git 
a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
 
b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
index 8404f8e7dff..0c1803a7de7 100644
--- 
a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
+++ 
b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentAutoConfiguration.java
@@ -42,7 +42,7 @@ import org.springframework.context.annotation.Lazy;
 @Conditional(ConditionalOnCamelContextAndAutoConfigurationBeans.class)
 
@EnableConfigurationProperties({ComponentConfigurationProperties.class,CoAPComponentConfiguration.class})
 @ConditionalOnHierarchicalProperties({"camel.component", 
"camel.component.coap"})
-@AutoConfigureAfter(CamelAutoConfiguration.class)
+@AutoConfigureAfter({CamelAutoConfiguration.class, 
CoAPComponentConverter.class})
 public class CoAPComponentAutoConfiguration {
 
     @Autowired
diff --git 
a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentConfiguration.java
 
b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentConfiguration.java
index 9c5008ef5ed..46bda99ad88 100644
--- 
a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentConfiguration.java
+++ 
b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.coap.springboot;
 
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
+import org.eclipse.californium.core.CoapClient;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 /**
@@ -65,6 +66,11 @@ public class CoAPComponentConfiguration
      * and prolong the total processing time of the processing.
      */
     private Boolean lazyStartProducer = false;
+    /**
+     * To use a shared client for the producers. The option is a
+     * org.eclipse.californium.core.CoapClient type.
+     */
+    private CoapClient client;
     /**
      * Whether autowiring is enabled. This is used for automatic autowiring
      * options (the option must be marked as autowired) by looking up in the
@@ -99,6 +105,14 @@ public class CoAPComponentConfiguration
         this.lazyStartProducer = lazyStartProducer;
     }
 
+    public CoapClient getClient() {
+        return client;
+    }
+
+    public void setClient(CoapClient client) {
+        this.client = client;
+    }
+
     public Boolean getAutowiredEnabled() {
         return autowiredEnabled;
     }
diff --git 
a/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentConverter.java
 
b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentConverter.java
new file mode 100644
index 00000000000..9a49af7a6b2
--- /dev/null
+++ 
b/components-starter/camel-coap-starter/src/main/java/org/apache/camel/coap/springboot/CoAPComponentConverter.java
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.coap.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import org.springframework.beans.factory.annotation.Autowired;
+import 
org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+import org.springframework.stereotype.Component;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration(proxyBeanMethods = false)
+@ConfigurationPropertiesBinding
+@Component
+public class CoAPComponentConverter implements GenericConverter {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, 
org.eclipse.californium.core.CoapClient.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        if (source == null) {
+            return null;
+        }
+        String ref = source.toString();
+        if (!ref.startsWith("#")) {
+            return null;
+        }
+        ref = ref.startsWith("#bean:") ? ref.substring(6) : ref.substring(1);
+        switch (targetType.getName()) {
+            case "org.eclipse.californium.core.CoapClient": return 
applicationContext.getBean(ref, org.eclipse.californium.core.CoapClient.class);
+        }
+        return null;
+    }
+}
\ No newline at end of file
diff --git 
a/components-starter/camel-coap-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 
b/components-starter/camel-coap-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index c2c5dcc3be8..514e1e39fa2 100644
--- 
a/components-starter/camel-coap-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ 
b/components-starter/camel-coap-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -15,4 +15,5 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-org.apache.camel.coap.springboot.CoAPComponentAutoConfiguration
\ No newline at end of file
+org.apache.camel.coap.springboot.CoAPComponentAutoConfiguration
+org.apache.camel.coap.springboot.CoAPComponentConverter

Reply via email to