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

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


The following commit(s) were added to refs/heads/main by this push:
     new d2eff648877e CAMEL-25873: camel-milo - the reconnectTimeout option 
sets the delay between connection attempts (#28219)
d2eff648877e is described below

commit d2eff648877e2b7fb42473c189b6c8447392cee3
Author: Serdar Gökay <[email protected]>
AuthorDate: Wed Oct 21 22:07:27 2026 +0300

    CAMEL-25873: camel-milo - the reconnectTimeout option sets the delay 
between connection attempts (#28219)
    
    * CAMEL-25873: camel-milo - the reconnectTimeout option sets the delay 
between connection attempts
    
    The reconnectTimeout setter of the milo-client and milo-browse components 
set the request timeout of every
    service call, and the delay between two connection attempts stayed fixed at 
10 seconds. The new reconnectTimeout
    option of the client configuration sets that delay, as an endpoint option 
and through the component configuration,
    and both component setters now set it. Its default of 10000 milliseconds 
keeps the previous delay. A value of 0 or
    less is rejected, because the client would try to connect again without 
pause.
    
    * CAMEL-25873: camel-milo - point the upgrade guide at the requestTimeout 
option
    
    The components have no setRequestTimeout method; the request timeout is the 
requestTimeout option of the configuration.
    
    Co-authored-by: Claude Fable 5.1 <[email protected]>
    Co-authored-by: Claude Opus 5.5 <[email protected]>
---
 .../camel/catalog/components/milo-browse.json      |  38 ++++----
 .../camel/catalog/components/milo-client.json      |  38 ++++----
 .../camel/catalog/docs/milo-client-component.adoc  |   4 +-
 .../milo/browse/MiloBrowseComponentConfigurer.java |   6 ++
 .../milo/browse/MiloBrowseEndpointConfigurer.java  |   6 ++
 .../milo/browse/MiloBrowseEndpointUriFactory.java  |   3 +-
 .../milo/client/MiloClientComponentConfigurer.java |   6 ++
 .../milo/client/MiloClientEndpointConfigurer.java  |   6 ++
 .../milo/client/MiloClientEndpointUriFactory.java  |   3 +-
 .../camel/component/milo/browse/milo-browse.json   |  38 ++++----
 .../camel/component/milo/client/milo-client.json   |  38 ++++----
 .../src/main/docs/milo-client-component.adoc       |   4 +-
 .../component/milo/browse/MiloBrowseComponent.java |   4 +-
 .../component/milo/client/MiloClientComponent.java |   4 +-
 .../milo/client/MiloClientConfiguration.java       |  23 ++++-
 .../milo/client/MiloClientConnection.java          |   3 +-
 .../component/milo/CommunicationLossTest.java      |  37 ++++++++
 .../milo/ReconnectTimeoutConfigurationTest.java    |  96 +++++++++++++++++++
 .../ROOT/pages/camel-4x-upgrade-guide-4_24.adoc    |   8 ++
 .../dsl/MiloBrowseComponentBuilderFactory.java     |  20 ++++
 .../dsl/MiloClientComponentBuilderFactory.java     |  20 ++++
 .../dsl/MiloBrowseEndpointBuilderFactory.java      |  34 +++++++
 .../dsl/MiloClientEndpointBuilderFactory.java      | 102 +++++++++++++++++++++
 23 files changed, 456 insertions(+), 85 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-browse.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-browse.json
index e1b579a11e56..3978dcb93935 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-browse.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-browse.json
@@ -45,15 +45,16 @@
     "overrideHost": { "index": 18, "kind": "property", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 19, "kind": "property", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 20, "kind": "property", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "requestedPublishingInterval": { "index": 21, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
-    "requestTimeout": { "index": 22, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
-    "sessionName": { "index": 23, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
-    "sessionTimeout": { "index": 24, "kind": "property", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
-    "certificateValidator": { "index": 25, "kind": "property", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the cer [...]
-    "password": { "index": 26, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in the [...]
-    "trustAllCertificates": { "index": 27, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificate [...]
-    "trustListDirectory": { "index": 28, "kind": "property", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OPC [...]
-    "username": { "index": 29, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when th [...]
+    "reconnectTimeout": { "index": 21, "kind": "property", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the ser [...]
+    "requestedPublishingInterval": { "index": 22, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
+    "requestTimeout": { "index": 23, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
+    "sessionName": { "index": 24, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "index": 25, "kind": "property", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
+    "certificateValidator": { "index": 26, "kind": "property", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the cer [...]
+    "password": { "index": 27, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in the [...]
+    "trustAllCertificates": { "index": 28, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificate [...]
+    "trustListDirectory": { "index": 29, "kind": "property", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OPC [...]
+    "username": { "index": 30, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when th [...]
   },
   "headers": {
     "CamelMiloNodeIds": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"List", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The node ids.", "constantName": 
"org.apache.camel.component.milo.MiloConstants#HEADER_NODE_IDS" }
@@ -86,14 +87,15 @@
     "overrideHost": { "index": 24, "kind": "parameter", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 25, "kind": "parameter", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 26, "kind": "parameter", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "requestedPublishingInterval": { "index": 27, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
-    "requestTimeout": { "index": 28, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
-    "sessionName": { "index": 29, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
-    "sessionTimeout": { "index": 30, "kind": "parameter", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
-    "certificateValidator": { "index": 31, "kind": "parameter", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the ce [...]
-    "password": { "index": 32, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in th [...]
-    "trustAllCertificates": { "index": 33, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificat [...]
-    "trustListDirectory": { "index": 34, "kind": "parameter", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OP [...]
-    "username": { "index": 35, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when t [...]
+    "reconnectTimeout": { "index": 27, "kind": "parameter", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the se [...]
+    "requestedPublishingInterval": { "index": 28, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
+    "requestTimeout": { "index": 29, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
+    "sessionName": { "index": 30, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "index": 31, "kind": "parameter", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
+    "certificateValidator": { "index": 32, "kind": "parameter", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the ce [...]
+    "password": { "index": 33, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in th [...]
+    "trustAllCertificates": { "index": 34, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificat [...]
+    "trustListDirectory": { "index": 35, "kind": "parameter", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OP [...]
+    "username": { "index": 36, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when t [...]
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-client.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-client.json
index 8daa6a597d8d..a8d6bb84cf4a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-client.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/milo-client.json
@@ -46,15 +46,16 @@
     "overrideHost": { "index": 19, "kind": "property", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 20, "kind": "property", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 21, "kind": "property", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "requestedPublishingInterval": { "index": 22, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
-    "requestTimeout": { "index": 23, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
-    "sessionName": { "index": 24, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
-    "sessionTimeout": { "index": 25, "kind": "property", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
-    "certificateValidator": { "index": 26, "kind": "property", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the cer [...]
-    "password": { "index": 27, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in the [...]
-    "trustAllCertificates": { "index": 28, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificate [...]
-    "trustListDirectory": { "index": 29, "kind": "property", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OPC [...]
-    "username": { "index": 30, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when th [...]
+    "reconnectTimeout": { "index": 22, "kind": "property", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the ser [...]
+    "requestedPublishingInterval": { "index": 23, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
+    "requestTimeout": { "index": 24, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
+    "sessionName": { "index": 25, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "index": 26, "kind": "property", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
+    "certificateValidator": { "index": 27, "kind": "property", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the cer [...]
+    "password": { "index": 28, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in the [...]
+    "trustAllCertificates": { "index": 29, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificate [...]
+    "trustListDirectory": { "index": 30, "kind": "property", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OPC [...]
+    "username": { "index": 31, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when th [...]
   },
   "headers": {
     "CamelMiloNodeIds": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"List", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The node ids.", "constantName": 
"org.apache.camel.component.milo.MiloConstants#HEADER_NODE_IDS" },
@@ -95,14 +96,15 @@
     "overrideHost": { "index": 30, "kind": "parameter", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 31, "kind": "parameter", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 32, "kind": "parameter", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "requestedPublishingInterval": { "index": 33, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
-    "requestTimeout": { "index": 34, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
-    "sessionName": { "index": 35, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
-    "sessionTimeout": { "index": 36, "kind": "parameter", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
-    "certificateValidator": { "index": 37, "kind": "parameter", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the ce [...]
-    "password": { "index": 38, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in th [...]
-    "trustAllCertificates": { "index": 39, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificat [...]
-    "trustListDirectory": { "index": 40, "kind": "parameter", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OP [...]
-    "username": { "index": 41, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when t [...]
+    "reconnectTimeout": { "index": 33, "kind": "parameter", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the se [...]
+    "requestedPublishingInterval": { "index": 34, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
+    "requestTimeout": { "index": 35, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
+    "sessionName": { "index": 36, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "index": 37, "kind": "parameter", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
+    "certificateValidator": { "index": 38, "kind": "parameter", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the ce [...]
+    "password": { "index": 39, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in th [...]
+    "trustAllCertificates": { "index": 40, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificat [...]
+    "trustListDirectory": { "index": 41, "kind": "parameter", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OP [...]
+    "username": { "index": 42, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when t [...]
   }
 }
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/milo-client-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/milo-client-component.adoc
index 3ba0ced7902e..9de57764a695 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/milo-client-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/milo-client-component.adoc
@@ -404,8 +404,8 @@ If neither option is configured, the client does not 
connect to an endpoint that
 insecure: the connection is encrypted, but the client does not authenticate 
the server it talks to.
 
 When the server certificate cannot be validated, the client logs a `WARN` 
message that starts with `Failed to
-connect`, and tries again every 10 seconds, so a certificate moved to 
`trusted/certs` is used at the next attempt. A
-producer fails with `IllegalStateException: No connected`, whose cause gives 
the reason.
+connect`, and tries again after `reconnectTimeout` (10 seconds by default), so 
a certificate moved to `trusted/certs`
+is used at the next attempt. A producer fails with `IllegalStateException: No 
connected`, whose cause gives the reason.
 
 The same validator checks the server certificate that the user name and 
password are encrypted with. With the
 security policy `None`, the server is not authenticated, whatever the 
configuration.
diff --git 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseComponentConfigurer.java
 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseComponentConfigurer.java
index af20ae108216..ebad9c87dd3e 100644
--- 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseComponentConfigurer.java
+++ 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseComponentConfigurer.java
@@ -74,6 +74,8 @@ public class MiloBrowseComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "password": 
getOrCreateConfiguration(target).setPassword(property(camelContext, 
java.lang.String.class, value)); return true;
         case "producturi":
         case "productUri": 
getOrCreateConfiguration(target).setProductUri(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "reconnecttimeout":
+        case "reconnectTimeout": 
getOrCreateConfiguration(target).setReconnectTimeout(property(camelContext, 
long.class, value)); return true;
         case "requesttimeout":
         case "requestTimeout": 
getOrCreateConfiguration(target).setRequestTimeout(property(camelContext, 
java.lang.Long.class, value)); return true;
         case "requestedpublishinginterval":
@@ -143,6 +145,8 @@ public class MiloBrowseComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "password": return java.lang.String.class;
         case "producturi":
         case "productUri": return java.lang.String.class;
+        case "reconnecttimeout":
+        case "reconnectTimeout": return long.class;
         case "requesttimeout":
         case "requestTimeout": return java.lang.Long.class;
         case "requestedpublishinginterval":
@@ -208,6 +212,8 @@ public class MiloBrowseComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "password": return getOrCreateConfiguration(target).getPassword();
         case "producturi":
         case "productUri": return 
getOrCreateConfiguration(target).getProductUri();
+        case "reconnecttimeout":
+        case "reconnectTimeout": return 
getOrCreateConfiguration(target).getReconnectTimeout();
         case "requesttimeout":
         case "requestTimeout": return 
getOrCreateConfiguration(target).getRequestTimeout();
         case "requestedpublishinginterval":
diff --git 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseEndpointConfigurer.java
 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseEndpointConfigurer.java
index b67504f356a5..3078685e3729 100644
--- 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseEndpointConfigurer.java
+++ 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseEndpointConfigurer.java
@@ -72,6 +72,8 @@ public class MiloBrowseEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "password": 
target.getConfiguration().setPassword(property(camelContext, 
java.lang.String.class, value)); return true;
         case "producturi":
         case "productUri": 
target.getConfiguration().setProductUri(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "reconnecttimeout":
+        case "reconnectTimeout": 
target.getConfiguration().setReconnectTimeout(property(camelContext, 
long.class, value)); return true;
         case "recursive": target.setRecursive(property(camelContext, 
boolean.class, value)); return true;
         case "requesttimeout":
         case "requestTimeout": 
target.getConfiguration().setRequestTimeout(property(camelContext, 
java.lang.Long.class, value)); return true;
@@ -142,6 +144,8 @@ public class MiloBrowseEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "password": return java.lang.String.class;
         case "producturi":
         case "productUri": return java.lang.String.class;
+        case "reconnecttimeout":
+        case "reconnectTimeout": return long.class;
         case "recursive": return boolean.class;
         case "requesttimeout":
         case "requestTimeout": return java.lang.Long.class;
@@ -213,6 +217,8 @@ public class MiloBrowseEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "password": return target.getConfiguration().getPassword();
         case "producturi":
         case "productUri": return target.getConfiguration().getProductUri();
+        case "reconnecttimeout":
+        case "reconnectTimeout": return 
target.getConfiguration().getReconnectTimeout();
         case "recursive": return target.isRecursive();
         case "requesttimeout":
         case "requestTimeout": return 
target.getConfiguration().getRequestTimeout();
diff --git 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseEndpointUriFactory.java
 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseEndpointUriFactory.java
index 28d4029a8635..56aa8da10602 100644
--- 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseEndpointUriFactory.java
+++ 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/browse/MiloBrowseEndpointUriFactory.java
@@ -24,7 +24,7 @@ public class MiloBrowseEndpointUriFactory extends 
org.apache.camel.support.compo
     private static final Set<String> ENDPOINT_IDENTITY_PROPERTY_NAMES;
     private static final Map<String, String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(36);
+        Set<String> props = new HashSet<>(37);
         props.add("allowedSecurityPolicies");
         props.add("applicationName");
         props.add("applicationUri");
@@ -53,6 +53,7 @@ public class MiloBrowseEndpointUriFactory extends 
org.apache.camel.support.compo
         props.add("overridePort");
         props.add("password");
         props.add("productUri");
+        props.add("reconnectTimeout");
         props.add("recursive");
         props.add("requestTimeout");
         props.add("requestedPublishingInterval");
diff --git 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientComponentConfigurer.java
 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientComponentConfigurer.java
index a360bc71a2c0..1c4f1f6ae863 100644
--- 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientComponentConfigurer.java
+++ 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientComponentConfigurer.java
@@ -76,6 +76,8 @@ public class MiloClientComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "password": 
getOrCreateConfiguration(target).setPassword(property(camelContext, 
java.lang.String.class, value)); return true;
         case "producturi":
         case "productUri": 
getOrCreateConfiguration(target).setProductUri(property(camelContext, 
java.lang.String.class, value)); return true;
+        case "reconnecttimeout":
+        case "reconnectTimeout": 
getOrCreateConfiguration(target).setReconnectTimeout(property(camelContext, 
long.class, value)); return true;
         case "requesttimeout":
         case "requestTimeout": 
getOrCreateConfiguration(target).setRequestTimeout(property(camelContext, 
java.lang.Long.class, value)); return true;
         case "requestedpublishinginterval":
@@ -147,6 +149,8 @@ public class MiloClientComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "password": return java.lang.String.class;
         case "producturi":
         case "productUri": return java.lang.String.class;
+        case "reconnecttimeout":
+        case "reconnectTimeout": return long.class;
         case "requesttimeout":
         case "requestTimeout": return java.lang.Long.class;
         case "requestedpublishinginterval":
@@ -214,6 +218,8 @@ public class MiloClientComponentConfigurer extends 
PropertyConfigurerSupport imp
         case "password": return getOrCreateConfiguration(target).getPassword();
         case "producturi":
         case "productUri": return 
getOrCreateConfiguration(target).getProductUri();
+        case "reconnecttimeout":
+        case "reconnectTimeout": return 
getOrCreateConfiguration(target).getReconnectTimeout();
         case "requesttimeout":
         case "requestTimeout": return 
getOrCreateConfiguration(target).getRequestTimeout();
         case "requestedpublishinginterval":
diff --git 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientEndpointConfigurer.java
 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientEndpointConfigurer.java
index a31809fd82e2..9c8c96f2ccf1 100644
--- 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientEndpointConfigurer.java
+++ 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientEndpointConfigurer.java
@@ -85,6 +85,8 @@ public class MiloClientEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "productUri": 
target.getConfiguration().setProductUri(property(camelContext, 
java.lang.String.class, value)); return true;
         case "queuesize":
         case "queueSize": target.setQueueSize(property(camelContext, 
java.lang.Integer.class, value)); return true;
+        case "reconnecttimeout":
+        case "reconnectTimeout": 
target.getConfiguration().setReconnectTimeout(property(camelContext, 
long.class, value)); return true;
         case "requesttimeout":
         case "requestTimeout": 
target.getConfiguration().setRequestTimeout(property(camelContext, 
java.lang.Long.class, value)); return true;
         case "requestedpublishinginterval":
@@ -169,6 +171,8 @@ public class MiloClientEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "productUri": return java.lang.String.class;
         case "queuesize":
         case "queueSize": return java.lang.Integer.class;
+        case "reconnecttimeout":
+        case "reconnectTimeout": return long.class;
         case "requesttimeout":
         case "requestTimeout": return java.lang.Long.class;
         case "requestedpublishinginterval":
@@ -254,6 +258,8 @@ public class MiloClientEndpointConfigurer extends 
PropertyConfigurerSupport impl
         case "productUri": return target.getConfiguration().getProductUri();
         case "queuesize":
         case "queueSize": return target.getQueueSize();
+        case "reconnecttimeout":
+        case "reconnectTimeout": return 
target.getConfiguration().getReconnectTimeout();
         case "requesttimeout":
         case "requestTimeout": return 
target.getConfiguration().getRequestTimeout();
         case "requestedpublishinginterval":
diff --git 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientEndpointUriFactory.java
 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientEndpointUriFactory.java
index fe6f76a6cfee..ba2a323510d7 100644
--- 
a/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientEndpointUriFactory.java
+++ 
b/components/camel-milo/src/generated/java/org/apache/camel/component/milo/client/MiloClientEndpointUriFactory.java
@@ -24,7 +24,7 @@ public class MiloClientEndpointUriFactory extends 
org.apache.camel.support.compo
     private static final Set<String> ENDPOINT_IDENTITY_PROPERTY_NAMES;
     private static final Map<String, String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(42);
+        Set<String> props = new HashSet<>(43);
         props.add("allowedSecurityPolicies");
         props.add("applicationName");
         props.add("applicationUri");
@@ -59,6 +59,7 @@ public class MiloClientEndpointUriFactory extends 
org.apache.camel.support.compo
         props.add("password");
         props.add("productUri");
         props.add("queueSize");
+        props.add("reconnectTimeout");
         props.add("requestTimeout");
         props.add("requestedPublishingInterval");
         props.add("samplingInterval");
diff --git 
a/components/camel-milo/src/generated/resources/META-INF/org/apache/camel/component/milo/browse/milo-browse.json
 
b/components/camel-milo/src/generated/resources/META-INF/org/apache/camel/component/milo/browse/milo-browse.json
index e1b579a11e56..3978dcb93935 100644
--- 
a/components/camel-milo/src/generated/resources/META-INF/org/apache/camel/component/milo/browse/milo-browse.json
+++ 
b/components/camel-milo/src/generated/resources/META-INF/org/apache/camel/component/milo/browse/milo-browse.json
@@ -45,15 +45,16 @@
     "overrideHost": { "index": 18, "kind": "property", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 19, "kind": "property", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 20, "kind": "property", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "requestedPublishingInterval": { "index": 21, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
-    "requestTimeout": { "index": 22, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
-    "sessionName": { "index": 23, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
-    "sessionTimeout": { "index": 24, "kind": "property", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
-    "certificateValidator": { "index": 25, "kind": "property", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the cer [...]
-    "password": { "index": 26, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in the [...]
-    "trustAllCertificates": { "index": 27, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificate [...]
-    "trustListDirectory": { "index": 28, "kind": "property", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OPC [...]
-    "username": { "index": 29, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when th [...]
+    "reconnectTimeout": { "index": 21, "kind": "property", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the ser [...]
+    "requestedPublishingInterval": { "index": 22, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
+    "requestTimeout": { "index": 23, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
+    "sessionName": { "index": 24, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "index": 25, "kind": "property", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
+    "certificateValidator": { "index": 26, "kind": "property", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the cer [...]
+    "password": { "index": 27, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in the [...]
+    "trustAllCertificates": { "index": 28, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificate [...]
+    "trustListDirectory": { "index": 29, "kind": "property", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OPC [...]
+    "username": { "index": 30, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when th [...]
   },
   "headers": {
     "CamelMiloNodeIds": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"List", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The node ids.", "constantName": 
"org.apache.camel.component.milo.MiloConstants#HEADER_NODE_IDS" }
@@ -86,14 +87,15 @@
     "overrideHost": { "index": 24, "kind": "parameter", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 25, "kind": "parameter", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 26, "kind": "parameter", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "requestedPublishingInterval": { "index": 27, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
-    "requestTimeout": { "index": 28, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
-    "sessionName": { "index": 29, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
-    "sessionTimeout": { "index": 30, "kind": "parameter", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
-    "certificateValidator": { "index": 31, "kind": "parameter", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the ce [...]
-    "password": { "index": 32, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in th [...]
-    "trustAllCertificates": { "index": 33, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificat [...]
-    "trustListDirectory": { "index": 34, "kind": "parameter", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OP [...]
-    "username": { "index": 35, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when t [...]
+    "reconnectTimeout": { "index": 27, "kind": "parameter", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the se [...]
+    "requestedPublishingInterval": { "index": 28, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
+    "requestTimeout": { "index": 29, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
+    "sessionName": { "index": 30, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "index": 31, "kind": "parameter", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
+    "certificateValidator": { "index": 32, "kind": "parameter", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the ce [...]
+    "password": { "index": 33, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in th [...]
+    "trustAllCertificates": { "index": 34, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificat [...]
+    "trustListDirectory": { "index": 35, "kind": "parameter", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OP [...]
+    "username": { "index": 36, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when t [...]
   }
 }
diff --git 
a/components/camel-milo/src/generated/resources/META-INF/org/apache/camel/component/milo/client/milo-client.json
 
b/components/camel-milo/src/generated/resources/META-INF/org/apache/camel/component/milo/client/milo-client.json
index 8daa6a597d8d..a8d6bb84cf4a 100644
--- 
a/components/camel-milo/src/generated/resources/META-INF/org/apache/camel/component/milo/client/milo-client.json
+++ 
b/components/camel-milo/src/generated/resources/META-INF/org/apache/camel/component/milo/client/milo-client.json
@@ -46,15 +46,16 @@
     "overrideHost": { "index": 19, "kind": "property", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 20, "kind": "property", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 21, "kind": "property", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "requestedPublishingInterval": { "index": 22, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
-    "requestTimeout": { "index": 23, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
-    "sessionName": { "index": 24, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
-    "sessionTimeout": { "index": 25, "kind": "property", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
-    "certificateValidator": { "index": 26, "kind": "property", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the cer [...]
-    "password": { "index": 27, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in the [...]
-    "trustAllCertificates": { "index": 28, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificate [...]
-    "trustListDirectory": { "index": 29, "kind": "property", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OPC [...]
-    "username": { "index": 30, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when th [...]
+    "reconnectTimeout": { "index": 22, "kind": "property", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the ser [...]
+    "requestedPublishingInterval": { "index": 23, "kind": "property", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in mi [...]
+    "requestTimeout": { "index": 24, "kind": "property", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
+    "sessionName": { "index": 25, "kind": "property", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "index": 26, "kind": "property", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
+    "certificateValidator": { "index": 27, "kind": "property", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the cer [...]
+    "password": { "index": 28, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in the [...]
+    "trustAllCertificates": { "index": 29, "kind": "property", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificate [...]
+    "trustListDirectory": { "index": 30, "kind": "property", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OPC [...]
+    "username": { "index": 31, "kind": "property", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when th [...]
   },
   "headers": {
     "CamelMiloNodeIds": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "producer", "required": false, "javaType": 
"List", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The node ids.", "constantName": 
"org.apache.camel.component.milo.MiloConstants#HEADER_NODE_IDS" },
@@ -95,14 +96,15 @@
     "overrideHost": { "index": 30, "kind": "parameter", "displayName": 
"Override Host", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint host with the host from the endpoint URI." },
     "overridePort": { "index": 31, "kind": "parameter", "displayName": 
"Override Port", "group": "client", "label": "client", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Override the server 
reported endpoint port with the port from the endpoint URI." },
     "productUri": { "index": 32, "kind": "parameter", "displayName": "Product 
Uri", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": 
"http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The product URI" },
-    "requestedPublishingInterval": { "index": 33, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
-    "requestTimeout": { "index": 34, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
-    "sessionName": { "index": 35, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
-    "sessionTimeout": { "index": 36, "kind": "parameter", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
-    "certificateValidator": { "index": 37, "kind": "parameter", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the ce [...]
-    "password": { "index": 38, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in th [...]
-    "trustAllCertificates": { "index": 39, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificat [...]
-    "trustListDirectory": { "index": 40, "kind": "parameter", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OP [...]
-    "username": { "index": 41, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when t [...]
+    "reconnectTimeout": { "index": 33, "kind": "parameter", "displayName": 
"Reconnect Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": 10000, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The delay in 
milliseconds before the client tries again to connect to the se [...]
+    "requestedPublishingInterval": { "index": 34, "kind": "parameter", 
"displayName": "Requested Publishing Interval", "group": "client", "label": 
"client", "required": false, "type": "number", "javaType": "java.lang.Double", 
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 
"1_000.0", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The requested publishing 
interval in m [...]
+    "requestTimeout": { "index": 35, "kind": "parameter", "displayName": 
"Request Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Request timeout in 
milliseconds" },
+    "sessionName": { "index": 36, "kind": "parameter", "displayName": "Session 
Name", "group": "client", "label": "client", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session name" },
+    "sessionTimeout": { "index": 37, "kind": "parameter", "displayName": 
"Session Timeout", "group": "client", "label": "client", "required": false, 
"type": "integer", "javaType": "java.lang.Long", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Session timeout in 
milliseconds" },
+    "certificateValidator": { "index": 38, "kind": "parameter", "displayName": 
"Certificate Validator", "group": "security", "label": "security", "required": 
false, "type": "object", "javaType": 
"org.eclipse.milo.opcua.stack.core.security.CertificateValidator", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "A custom validator for 
the ce [...]
+    "password": { "index": 39, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The password for 
authentication. Use this instead of embedding credentials in th [...]
+    "trustAllCertificates": { "index": 40, "kind": "parameter", "displayName": 
"Trust All Certificates", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"defaultValue": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "Whether to accept any 
certificat [...]
+    "trustListDirectory": { "index": 41, "kind": "parameter", "displayName": 
"Trust List Directory", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The directory holding 
the trust list used to validate the certificate of the OP [...]
+    "username": { "index": 42, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.milo.client.MiloClientConfiguration", 
"configurationField": "configuration", "description": "The username for 
authentication. Use this instead of embedding credentials in the endpoint URI 
when t [...]
   }
 }
diff --git a/components/camel-milo/src/main/docs/milo-client-component.adoc 
b/components/camel-milo/src/main/docs/milo-client-component.adoc
index 3ba0ced7902e..9de57764a695 100644
--- a/components/camel-milo/src/main/docs/milo-client-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-client-component.adoc
@@ -404,8 +404,8 @@ If neither option is configured, the client does not 
connect to an endpoint that
 insecure: the connection is encrypted, but the client does not authenticate 
the server it talks to.
 
 When the server certificate cannot be validated, the client logs a `WARN` 
message that starts with `Failed to
-connect`, and tries again every 10 seconds, so a certificate moved to 
`trusted/certs` is used at the next attempt. A
-producer fails with `IllegalStateException: No connected`, whose cause gives 
the reason.
+connect`, and tries again after `reconnectTimeout` (10 seconds by default), so 
a certificate moved to `trusted/certs`
+is used at the next attempt. A producer fails with `IllegalStateException: No 
connected`, whose cause gives the reason.
 
 The same validator checks the server certificate that the user name and 
password are encrypted with. With the
 security policy `None`, the server is not authenticated, whatever the 
configuration.
diff --git 
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/browse/MiloBrowseComponent.java
 
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/browse/MiloBrowseComponent.java
index 2e32eb3061f2..c976f3bcba88 100644
--- 
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/browse/MiloBrowseComponent.java
+++ 
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/browse/MiloBrowseComponent.java
@@ -84,10 +84,10 @@ public class MiloBrowseComponent extends DefaultComponent {
     }
 
     /**
-     * Default reconnect timeout
+     * Default delay in milliseconds between two attempts to connect to the 
server
      */
     public void setReconnectTimeout(final Long reconnectTimeout) {
-        this.configuration.setRequestTimeout(reconnectTimeout);
+        this.configuration.setReconnectTimeout(reconnectTimeout);
     }
 
     public MiloClientConnectionManager getMiloClientConnectionManager() {
diff --git 
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientComponent.java
 
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientComponent.java
index 71440d552a48..952ed9b5627a 100644
--- 
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientComponent.java
+++ 
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientComponent.java
@@ -80,10 +80,10 @@ public class MiloClientComponent extends DefaultComponent {
     }
 
     /**
-     * Default reconnect timeout
+     * Default delay in milliseconds between two attempts to connect to the 
server
      */
     public void setReconnectTimeout(final Long reconnectTimeout) {
-        this.configuration.setRequestTimeout(reconnectTimeout);
+        this.configuration.setReconnectTimeout(reconnectTimeout);
     }
 
     public MiloClientConnectionManager getMiloClientConnectionManager() {
diff --git 
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientConfiguration.java
 
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientConfiguration.java
index 3916cf652d48..405bd529cb8b 100644
--- 
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientConfiguration.java
+++ 
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientConfiguration.java
@@ -72,6 +72,9 @@ public class MiloClientConfiguration implements Cloneable {
     @UriParam(label = "client")
     private Long requestTimeout;
 
+    @UriParam(label = "client", defaultValue = "10000")
+    private long reconnectTimeout = 10_000;
+
     @UriParam(label = "client")
     private Long channelLifetime;
 
@@ -141,6 +144,7 @@ public class MiloClientConfiguration implements Cloneable {
         this.applicationUri = other.applicationUri;
         this.productUri = other.productUri;
         this.requestTimeout = other.requestTimeout;
+        this.reconnectTimeout = other.reconnectTimeout;
         this.channelLifetime = other.channelLifetime;
         this.sessionName = other.sessionName;
         this.maxPendingPublishRequests = other.maxPendingPublishRequests;
@@ -241,14 +245,29 @@ public class MiloClientConfiguration implements Cloneable 
{
     /**
      * Request timeout in milliseconds
      */
-    public void setRequestTimeout(final Long reconnectTimeout) {
-        this.requestTimeout = reconnectTimeout;
+    public void setRequestTimeout(final Long requestTimeout) {
+        this.requestTimeout = requestTimeout;
     }
 
     public Long getRequestTimeout() {
         return this.requestTimeout;
     }
 
+    /**
+     * The delay in milliseconds before the client tries again to connect to 
the server after an attempt failed. It is
+     * not used while the OPC UA client recovers a lost session on its own.
+     */
+    public void setReconnectTimeout(final long reconnectTimeout) {
+        if (reconnectTimeout <= 0) {
+            throw new IllegalArgumentException("reconnectTimeout must be > 0, 
got: " + reconnectTimeout);
+        }
+        this.reconnectTimeout = reconnectTimeout;
+    }
+
+    public long getReconnectTimeout() {
+        return this.reconnectTimeout;
+    }
+
     /**
      * Channel lifetime in milliseconds
      */
diff --git 
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientConnection.java
 
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientConnection.java
index f0837e2fe1aa..64168c9197fa 100644
--- 
a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientConnection.java
+++ 
b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientConnection.java
@@ -125,7 +125,8 @@ public class MiloClientConnection implements AutoCloseable, 
CamelContextAware {
         // when the connection is closed
         this.reconnectExecutor = 
executorServiceManager.newSingleThreadScheduledExecutor(this, 
"MiloClientReconnect");
 
-        this.manager = new SubscriptionManager(this.configuration, 
this.reconnectExecutor, this.executor, 10_000);
+        this.manager = new SubscriptionManager(
+                this.configuration, this.reconnectExecutor, this.executor, 
this.configuration.getReconnectTimeout());
     }
 
     @Override
diff --git 
a/components/camel-milo/src/test/java/org/apache/camel/component/milo/CommunicationLossTest.java
 
b/components/camel-milo/src/test/java/org/apache/camel/component/milo/CommunicationLossTest.java
index 958faad13dd4..02a3faa341e2 100644
--- 
a/components/camel-milo/src/test/java/org/apache/camel/component/milo/CommunicationLossTest.java
+++ 
b/components/camel-milo/src/test/java/org/apache/camel/component/milo/CommunicationLossTest.java
@@ -65,6 +65,8 @@ public class CommunicationLossTest extends 
AbstractMiloServerTest {
 
     private static final String MOCK_LATE = "mock:late";
 
+    private static final String MOCK_RECONNECT_TIMEOUT = 
"mock:reconnectTimeout";
+
     private static final String MOCK_UNKNOWN = "mock:unknown";
 
     private static final String MILO_CLIENT_UNKNOWN
@@ -76,6 +78,9 @@ public class CommunicationLossTest extends 
AbstractMiloServerTest {
     @EndpointInject(MOCK_LATE)
     protected MockEndpoint lateEndpoint;
 
+    @EndpointInject(MOCK_RECONNECT_TIMEOUT)
+    protected MockEndpoint reconnectTimeoutEndpoint;
+
     @EndpointInject(MOCK_UNKNOWN)
     protected MockEndpoint unknownEndpoint;
 
@@ -88,10 +93,15 @@ public class CommunicationLossTest extends 
AbstractMiloServerTest {
     @RegisterExtension
     AvailablePortFinder.Port lateRelayPort = AvailablePortFinder.find();
 
+    @RegisterExtension
+    AvailablePortFinder.Port reconnectTimeoutRelayPort = 
AvailablePortFinder.find();
+
     private final Relay relay = new Relay();
 
     private final Relay lateRelay = new Relay();
 
+    private final Relay reconnectTimeoutRelay = new Relay();
+
     @Override
     protected RoutesBuilder createRouteBuilder() {
         return new RouteBuilder() {
@@ -110,6 +120,11 @@ public class CommunicationLossTest extends 
AbstractMiloServerTest {
                 // its own relay, so its own connection, which the test starts 
while the relay is down
                 from(resolve(MILO_CLIENT_ITEM_1).replace("@@relay@@", 
Integer.toString(lateRelayPort.getPort())))
                         .routeId("late").autoStartup(false).to(MOCK_LATE);
+
+                // the same, with a delay between two connection attempts 
shorter than the default
+                from(resolve(MILO_CLIENT_ITEM_1).replace("@@relay@@", 
Integer.toString(reconnectTimeoutRelayPort.getPort()))
+                     + "&reconnectTimeout=1000")
+                        
.routeId("reconnectTimeout").autoStartup(false).to(MOCK_RECONNECT_TIMEOUT);
             }
         };
     }
@@ -124,6 +139,7 @@ public class CommunicationLossTest extends 
AbstractMiloServerTest {
         // after the context, so that its clients disconnect through the relays
         relay.stop();
         lateRelay.stop();
+        reconnectTimeoutRelay.stop();
     }
 
     @Test
@@ -216,6 +232,27 @@ public class CommunicationLossTest extends 
AbstractMiloServerTest {
         lateEndpoint.assertIsSatisfied();
     }
 
+    @Test
+    void 
consumerStartedWithoutTheServerConnectsAfterTheConfiguredReconnectTimeout() 
throws Exception {
+        producer1.sendBody("Foo");
+
+        // the relay is down: the consumer reports its node once, while it 
keeps trying to connect every second
+        reconnectTimeoutEndpoint.expectedMessageCount(1);
+        reconnectTimeoutEndpoint.setAssertPeriod(3_000);
+        testBody(reconnectTimeoutEndpoint.message(0), assertNoCommunication());
+        context.getRouteController().startRoute("reconnectTimeout");
+        reconnectTimeoutEndpoint.assertIsSatisfied();
+
+        // the server becomes reachable: the next attempt, at most a second 
later, delivers the current value, long
+        // before the default delay of 10 seconds after the first attempt 
would have passed
+        reconnectTimeoutEndpoint.reset();
+        reconnectTimeoutEndpoint.expectedMessageCount(1);
+        reconnectTimeoutEndpoint.setResultWaitTime(5_000);
+        testBody(reconnectTimeoutEndpoint.message(0), assertGoodValue("Foo"));
+        reconnectTimeoutRelay.start(reconnectTimeoutRelayPort.getPort(), 
getServerPort());
+        reconnectTimeoutEndpoint.assertIsSatisfied();
+    }
+
     /**
      * A TCP relay to the server, whose connections the test can drop while it 
keeps listening, and which can be down
      * while the client tries to connect.
diff --git 
a/components/camel-milo/src/test/java/org/apache/camel/component/milo/ReconnectTimeoutConfigurationTest.java
 
b/components/camel-milo/src/test/java/org/apache/camel/component/milo/ReconnectTimeoutConfigurationTest.java
new file mode 100644
index 000000000000..03a2760e7492
--- /dev/null
+++ 
b/components/camel-milo/src/test/java/org/apache/camel/component/milo/ReconnectTimeoutConfigurationTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.component.milo;
+
+import org.apache.camel.ResolveEndpointFailedException;
+import org.apache.camel.component.milo.browse.MiloBrowseComponent;
+import org.apache.camel.component.milo.browse.MiloBrowseEndpoint;
+import org.apache.camel.component.milo.client.MiloClientComponent;
+import org.apache.camel.component.milo.client.MiloClientEndpoint;
+import org.apache.camel.test.junit6.CamelTestSupport;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+/**
+ * The reconnect timeout is the delay between two connection attempts, and not 
the timeout of the requests.
+ */
+public class ReconnectTimeoutConfigurationTest extends CamelTestSupport {
+
+    private static final String SERVER = "opc.tcp://localhost:4840";
+
+    @Test
+    void endpointsWithoutTheOptionWaitTenSecondsBetweenTwoConnectionAttempts() 
{
+        assertEquals(10_000L,
+                context.getEndpoint("milo-client:" + SERVER, 
MiloClientEndpoint.class).getConfiguration()
+                        .getReconnectTimeout());
+        assertEquals(10_000L,
+                context.getEndpoint("milo-browse:" + SERVER, 
MiloBrowseEndpoint.class).getConfiguration()
+                        .getReconnectTimeout());
+    }
+
+    @Test
+    void endpointUriSetsTheReconnectTimeout() {
+        final MiloClientEndpoint client
+                = context.getEndpoint("milo-client:" + SERVER + 
"?reconnectTimeout=1500", MiloClientEndpoint.class);
+        assertEquals(1_500L, client.getConfiguration().getReconnectTimeout());
+        assertNull(client.getConfiguration().getRequestTimeout());
+
+        final MiloBrowseEndpoint browse
+                = context.getEndpoint("milo-browse:" + SERVER + 
"?reconnectTimeout=1500", MiloBrowseEndpoint.class);
+        assertEquals(1_500L, browse.getConfiguration().getReconnectTimeout());
+        assertNull(browse.getConfiguration().getRequestTimeout());
+    }
+
+    @Test
+    void clientComponentSetsTheDefaultReconnectTimeoutOfItsEndpoints() {
+        final MiloClientComponent component = 
context.getComponent("milo-client", MiloClientComponent.class);
+        component.setReconnectTimeout(2_000L);
+
+        assertEquals(2_000L, 
component.getConfiguration().getReconnectTimeout());
+        assertNull(component.getConfiguration().getRequestTimeout());
+
+        final MiloClientEndpoint endpoint = context.getEndpoint("milo-client:" 
+ SERVER, MiloClientEndpoint.class);
+        assertEquals(2_000L, 
endpoint.getConfiguration().getReconnectTimeout());
+        assertNull(endpoint.getConfiguration().getRequestTimeout());
+    }
+
+    @Test
+    void browseComponentSetsTheDefaultReconnectTimeoutOfItsEndpoints() {
+        final MiloBrowseComponent component = 
context.getComponent("milo-browse", MiloBrowseComponent.class);
+        component.setReconnectTimeout(2_000L);
+
+        assertEquals(2_000L, 
component.getConfiguration().getReconnectTimeout());
+        assertNull(component.getConfiguration().getRequestTimeout());
+
+        final MiloBrowseEndpoint endpoint = context.getEndpoint("milo-browse:" 
+ SERVER, MiloBrowseEndpoint.class);
+        assertEquals(2_000L, 
endpoint.getConfiguration().getReconnectTimeout());
+        assertNull(endpoint.getConfiguration().getRequestTimeout());
+    }
+
+    @Test
+    void reconnectTimeoutThatIsNotPositiveIsRejected() {
+        // no delay would make the client try to connect again and again, as 
fast as the server refuses
+        assertThrows(ResolveEndpointFailedException.class,
+                () -> context.getEndpoint("milo-client:" + SERVER + 
"?reconnectTimeout=0"));
+
+        final MiloClientComponent component = 
context.getComponent("milo-client", MiloClientComponent.class);
+        assertThrows(IllegalArgumentException.class, () -> 
component.setReconnectTimeout(-1L));
+    }
+}
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc
index b992efb54f7e..db8c88aa6b90 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc
@@ -2145,6 +2145,14 @@ To keep the previous behaviour, filter the exchanges 
with a bad status out right
 `filter(simple("${body.statusCode.bad} == false"))`. This also drops the other 
bad statuses, such as the refusal of a
 node, and the current values delivered after an outage still arrive.
 
+=== camel-milo - the reconnectTimeout of the components sets the delay between 
connection attempts
+
+`setReconnectTimeout` on the `milo-client` and `milo-browse` components set 
the request timeout of every service call,
+and the delay between two connection attempts stayed 10 seconds. It now sets 
that delay, which the new
+`reconnectTimeout` option of both endpoints and components sets too; its 
default of 10000 milliseconds is the previous
+delay, and a value of 0 or less is rejected. To set the request timeout, use 
the `requestTimeout` option instead
+(for example `camel.component.milo-client.requestTimeout`, or 
`getConfiguration().setRequestTimeout(...)` in Java).
+
 === camel-protobuf - a bytes field in a Map
 
 When a protobuf message is converted to a `Map` (for example 
`getBody(Map.class)` after unmarshalling), the value of
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloBrowseComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloBrowseComponentBuilderFactory.java
index 832c3c13b8cb..a62b8f20e278 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloBrowseComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloBrowseComponentBuilderFactory.java
@@ -401,6 +401,25 @@ public interface MiloBrowseComponentBuilderFactory {
         }
     
         
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseComponentBuilder reconnectTimeout(long 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
+    
+        
         /**
          * The requested publishing interval in milliseconds.
          * 
@@ -602,6 +621,7 @@ public interface MiloBrowseComponentBuilderFactory {
             case "overrideHost": 
getOrCreateConfiguration((MiloBrowseComponent) 
component).setOverrideHost((boolean) value); return true;
             case "overridePort": 
getOrCreateConfiguration((MiloBrowseComponent) 
component).setOverridePort((boolean) value); return true;
             case "productUri": getOrCreateConfiguration((MiloBrowseComponent) 
component).setProductUri((java.lang.String) value); return true;
+            case "reconnectTimeout": 
getOrCreateConfiguration((MiloBrowseComponent) 
component).setReconnectTimeout((long) value); return true;
             case "requestedPublishingInterval": 
getOrCreateConfiguration((MiloBrowseComponent) 
component).setRequestedPublishingInterval((java.lang.Double) value); return 
true;
             case "requestTimeout": 
getOrCreateConfiguration((MiloBrowseComponent) 
component).setRequestTimeout((java.lang.Long) value); return true;
             case "sessionName": getOrCreateConfiguration((MiloBrowseComponent) 
component).setSessionName((java.lang.String) value); return true;
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloClientComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloClientComponentBuilderFactory.java
index 6fd19bb55fc6..93bc2728c8bc 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloClientComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloClientComponentBuilderFactory.java
@@ -429,6 +429,25 @@ public interface MiloClientComponentBuilderFactory {
         }
     
         
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloClientComponentBuilder reconnectTimeout(long 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
+    
+        
         /**
          * The requested publishing interval in milliseconds.
          * 
@@ -631,6 +650,7 @@ public interface MiloClientComponentBuilderFactory {
             case "overrideHost": 
getOrCreateConfiguration((MiloClientComponent) 
component).setOverrideHost((boolean) value); return true;
             case "overridePort": 
getOrCreateConfiguration((MiloClientComponent) 
component).setOverridePort((boolean) value); return true;
             case "productUri": getOrCreateConfiguration((MiloClientComponent) 
component).setProductUri((java.lang.String) value); return true;
+            case "reconnectTimeout": 
getOrCreateConfiguration((MiloClientComponent) 
component).setReconnectTimeout((long) value); return true;
             case "requestedPublishingInterval": 
getOrCreateConfiguration((MiloClientComponent) 
component).setRequestedPublishingInterval((java.lang.Double) value); return 
true;
             case "requestTimeout": 
getOrCreateConfiguration((MiloClientComponent) 
component).setRequestTimeout((java.lang.Long) value); return true;
             case "sessionName": getOrCreateConfiguration((MiloClientComponent) 
component).setSessionName((java.lang.String) value); return true;
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloBrowseEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloBrowseEndpointBuilderFactory.java
index 2371bf904c42..0a70112a1778 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloBrowseEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloBrowseEndpointBuilderFactory.java
@@ -585,6 +585,40 @@ public interface MiloBrowseEndpointBuilderFactory {
             doSetProperty("productUri", productUri);
             return this;
         }
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder reconnectTimeout(long 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloBrowseEndpointBuilder reconnectTimeout(String 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
         /**
          * The requested publishing interval in milliseconds.
          * 
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloClientEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloClientEndpointBuilderFactory.java
index f38a20d4597e..87b75cfe4fc6 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloClientEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloClientEndpointBuilderFactory.java
@@ -656,6 +656,40 @@ public interface MiloClientEndpointBuilderFactory {
             doSetProperty("productUri", productUri);
             return this;
         }
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloClientEndpointConsumerBuilder reconnectTimeout(long 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloClientEndpointConsumerBuilder reconnectTimeout(String 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
         /**
          * The requested publishing interval in milliseconds.
          * 
@@ -1622,6 +1656,40 @@ public interface MiloClientEndpointBuilderFactory {
             doSetProperty("productUri", productUri);
             return this;
         }
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloClientEndpointProducerBuilder reconnectTimeout(long 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloClientEndpointProducerBuilder reconnectTimeout(String 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
         /**
          * The requested publishing interval in milliseconds.
          * 
@@ -2517,6 +2585,40 @@ public interface MiloClientEndpointBuilderFactory {
             doSetProperty("productUri", productUri);
             return this;
         }
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloClientEndpointBuilder reconnectTimeout(long 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
+        /**
+         * The delay in milliseconds before the client tries again to connect 
to
+         * the server after an attempt failed. It is not used while the OPC UA
+         * client recovers a lost session on its own.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: 10000
+         * Group: client
+         * 
+         * @param reconnectTimeout the value to set
+         * @return the dsl builder
+         */
+        default MiloClientEndpointBuilder reconnectTimeout(String 
reconnectTimeout) {
+            doSetProperty("reconnectTimeout", reconnectTimeout);
+            return this;
+        }
         /**
          * The requested publishing interval in milliseconds.
          * 

Reply via email to