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 3978dcb93935c..cf30f028dc51f 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,7 +45,7 @@
"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" },
- "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 server after an attempt failed. It is not used while the OPC UA client recovers a lost session on its own." },
+ "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 server after an attempt failed, and between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC UA client recovers a lost session on its own." },
"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 milliseconds" },
"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" },
@@ -87,7 +87,7 @@
"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" },
- "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 server after an attempt failed. It is not used while the OPC UA client recovers a lost session on its own." },
+ "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 server after an attempt failed, and between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC UA client recovers a lost session on its own." },
"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 milliseconds" },
"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" },
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 a8d6bb84cf4ac..a4ecb41eb45e8 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,7 +46,7 @@
"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" },
- "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 server after an attempt failed. It is not used while the OPC UA client recovers a lost session on its own." },
+ "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 server after an attempt failed, and between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC UA client recovers a lost session on its own." },
"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 milliseconds" },
"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" },
@@ -96,7 +96,7 @@
"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" },
- "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 server after an attempt failed. It is not used while the OPC UA client recovers a lost session on its own." },
+ "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 server after an attempt failed, and between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC UA client recovers a lost session on its own." },
"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 milliseconds" },
"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" },
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 2620d3733dc26..9164dfc23803a 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
@@ -192,11 +192,11 @@ monitor filter (`monitorFilterType`, `dataChangeFilter*`). Tags that need a diff
need a consumer of their own.
A node that does not exist on the server does not affect the other nodes. A node that cannot be monitored is
-reported once with its status code, and Camel tries to create its monitored item again every 10 seconds while the
-connection lasts, for all such nodes of the connection in one request. A failed attempt delivers nothing; once the item
-is created, the node delivers its current value as its first value. This covers a node that is added to the server
-later, for example with a new PLC program, and a server that refused the item because it had too many. A rebuilt
-connection creates the monitored items of all nodes again, and a stopped consumer is not retried.
+reported once with its status code, and Camel tries to create its monitored item again every `reconnectTimeout` (10
+seconds by default) while the connection lasts, for all such nodes of the connection in one request. A failed attempt
+delivers nothing; once the item is created, the node delivers its current value as its first value. This covers a node
+that is added to the server later, for example with a new PLC program, and a server that refused the item because it had
+too many. A rebuilt connection creates the monitored items of all nodes again, and a stopped consumer is not retried.
A node whose namespace URI (`nsu=`) is not in the namespace table of the server is reported and retried in the same
way, so a namespace that the server adds later is found.
The consumer delivers one exchange with the bad status code for such a node, and the `CamelMiloNodeId` header names it.
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 3978dcb93935c..cf30f028dc51f 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,7 +45,7 @@
"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" },
- "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 server after an attempt failed. It is not used while the OPC UA client recovers a lost session on its own." },
+ "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 server after an attempt failed, and between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC UA client recovers a lost session on its own." },
"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 milliseconds" },
"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" },
@@ -87,7 +87,7 @@
"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" },
- "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 server after an attempt failed. It is not used while the OPC UA client recovers a lost session on its own." },
+ "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 server after an attempt failed, and between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC UA client recovers a lost session on its own." },
"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 milliseconds" },
"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" },
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 a8d6bb84cf4ac..a4ecb41eb45e8 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,7 +46,7 @@
"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" },
- "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 server after an attempt failed. It is not used while the OPC UA client recovers a lost session on its own." },
+ "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 server after an attempt failed, and between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC UA client recovers a lost session on its own." },
"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 milliseconds" },
"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" },
@@ -96,7 +96,7 @@
"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" },
- "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 server after an attempt failed. It is not used while the OPC UA client recovers a lost session on its own." },
+ "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 server after an attempt failed, and between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC UA client recovers a lost session on its own." },
"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 milliseconds" },
"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" },
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 2620d3733dc26..9164dfc23803a 100644
--- a/components/camel-milo/src/main/docs/milo-client-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-client-component.adoc
@@ -192,11 +192,11 @@ monitor filter (`monitorFilterType`, `dataChangeFilter*`). Tags that need a diff
need a consumer of their own.
A node that does not exist on the server does not affect the other nodes. A node that cannot be monitored is
-reported once with its status code, and Camel tries to create its monitored item again every 10 seconds while the
-connection lasts, for all such nodes of the connection in one request. A failed attempt delivers nothing; once the item
-is created, the node delivers its current value as its first value. This covers a node that is added to the server
-later, for example with a new PLC program, and a server that refused the item because it had too many. A rebuilt
-connection creates the monitored items of all nodes again, and a stopped consumer is not retried.
+reported once with its status code, and Camel tries to create its monitored item again every `reconnectTimeout` (10
+seconds by default) while the connection lasts, for all such nodes of the connection in one request. A failed attempt
+delivers nothing; once the item is created, the node delivers its current value as its first value. This covers a node
+that is added to the server later, for example with a new PLC program, and a server that refused the item because it had
+too many. A rebuilt connection creates the monitored items of all nodes again, and a stopped consumer is not retried.
A node whose namespace URI (`nsu=`) is not in the namespace table of the server is reported and retried in the same
way, so a namespace that the server adds later is found.
The consumer delivers one exchange with the bad status code for such a node, and the `CamelMiloNodeId` header names it.
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 952ed9b5627a1..883c17a3b4cde 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,7 +80,8 @@ public void setProductUri(final String productUri) {
}
/**
- * Default delay in milliseconds between two attempts to connect to the server
+ * Default delay in milliseconds between two attempts to connect to the server, and between two attempts to create
+ * the monitored items that the server refused
*/
public void setReconnectTimeout(final Long reconnectTimeout) {
this.configuration.setReconnectTimeout(reconnectTimeout);
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 405bd529cb8bb..63103b05d6b70 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
@@ -254,8 +254,9 @@ public Long getRequestTimeout() {
}
/**
- * 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 delay in milliseconds before the client tries again to connect to the server after an attempt failed, and
+ * between two attempts to create the monitored items that the server refused. Neither attempt is made while the OPC
+ * UA client recovers a lost session on its own.
*/
public void setReconnectTimeout(final long reconnectTimeout) {
if (reconnectTimeout <= 0) {
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 0fda3a88b4f80..d311681e54e5a 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
@@ -113,12 +113,10 @@ public void configure() {
from(DIRECT_START_1).to(MILO_SERVER_ITEM_1);
// the consumers deliver the current values while they start, so the tests start these routes
- from(resolve(MILO_CLIENT_ITEM_1).replace("@@relay@@", Integer.toString(relayPort.getPort())))
- .routeId("item1").autoStartup(false).to(MOCK_ITEM_1);
+ from(throughRelay(MILO_CLIENT_ITEM_1)).routeId("item1").autoStartup(false).to(MOCK_ITEM_1);
// a node the server refuses, on the same connection
- from(resolve(MILO_CLIENT_UNKNOWN).replace("@@relay@@", Integer.toString(relayPort.getPort())))
- .routeId("unknown").autoStartup(false).to(MOCK_UNKNOWN);
+ from(throughRelay(MILO_CLIENT_UNKNOWN)).routeId("unknown").autoStartup(false).to(MOCK_UNKNOWN);
// 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())))
@@ -132,6 +130,14 @@ public void configure() {
};
}
+ /**
+ * The URI of a consumer that reaches the server through the relay. These consumers share one connection, which
+ * creates the refused node again every second.
+ */
+ private String throughRelay(final String uri) {
+ return resolve(uri).replace("@@relay@@", Integer.toString(relayPort.getPort())) + "&reconnectTimeout=1000";
+ }
+
@Override
protected void doPostSetup() throws Exception {
relay.start(relayPort.getPort(), getServerPort());
@@ -164,9 +170,7 @@ void lostSessionReportsTheNodeAndResendsItsValue() throws Exception {
unknownEndpoint.expectedMessageCount(0);
unknownEndpoint.setSleepForEmptyTest(500);
- final MiloClientEndpoint endpoint = context.getEndpoint(
- resolve(MILO_CLIENT_ITEM_1).replace("@@relay@@", Integer.toString(relayPort.getPort())),
- MiloClientEndpoint.class);
+ final MiloClientEndpoint endpoint = context.getEndpoint(throughRelay(MILO_CLIENT_ITEM_1), MiloClientEndpoint.class);
final MiloClientConnection connection = endpoint.createConnection();
try {
final OpcUaClient client = connection.getOpcUaClient();
@@ -229,9 +233,7 @@ void refusedNodeIsCreatedOnceTheSessionIsActiveAgain() throws Exception {
context.getRouteController().startRoute("unknown");
unknownEndpoint.assertIsSatisfied();
- final MiloClientEndpoint endpoint = context.getEndpoint(
- resolve(MILO_CLIENT_ITEM_1).replace("@@relay@@", Integer.toString(relayPort.getPort())),
- MiloClientEndpoint.class);
+ final MiloClientEndpoint endpoint = context.getEndpoint(throughRelay(MILO_CLIENT_ITEM_1), MiloClientEndpoint.class);
final MiloClientConnection connection = endpoint.createConnection();
try {
final OpcUaClient client = connection.getOpcUaClient();
@@ -253,7 +255,7 @@ void refusedNodeIsCreatedOnceTheSessionIsActiveAgain() throws Exception {
// the server stays unreachable for longer than the retry interval of the refused node
relay.stop();
await().atMost(10, TimeUnit.SECONDS).until(() -> item1Endpoint.getReceivedCounter() >= 1);
- await().during(12, TimeUnit.SECONDS).atMost(15, TimeUnit.SECONDS)
+ await().during(3, TimeUnit.SECONDS).atMost(5, TimeUnit.SECONDS)
.until(() -> unknownEndpoint.getReceivedCounter() == 0);
// an attempt while the session is lost is skipped: it does not hold the connection until the session is back
assertSame(client, CompletableFuture.supplyAsync(connection::getOpcUaClient).get(2, TimeUnit.SECONDS));
diff --git a/components/camel-milo/src/test/java/org/apache/camel/component/milo/MonitoredItemRetryTest.java b/components/camel-milo/src/test/java/org/apache/camel/component/milo/MonitoredItemRetryTest.java
index 468d4b918042e..a9fa8af816c31 100644
--- a/components/camel-milo/src/test/java/org/apache/camel/component/milo/MonitoredItemRetryTest.java
+++ b/components/camel-milo/src/test/java/org/apache/camel/component/milo/MonitoredItemRetryTest.java
@@ -43,8 +43,8 @@
import static org.junit.jupiter.api.Assertions.assertSame;
/**
- * A node that the server refuses to monitor is reported once and created again on the same connection, every 10
- * seconds, until the server has it or its consumer stops
+ * A node that the server refuses to monitor is reported once and created again on the same connection, every
+ * {@code reconnectTimeout} milliseconds, until the server has it or its consumer stops
*/
public class MonitoredItemRetryTest extends AbstractMiloServerTest {
@@ -55,10 +55,12 @@ public class MonitoredItemRetryTest extends AbstractMiloServerTest {
// a namespace that the server does not have until a test adds it
private static final String LATE_NAMESPACE_URI = "urn:org:apache:camel:late";
- // the client endpoints only differ in their nodes, so they share one connection
+ // the client endpoints only differ in their nodes, so they share one connection, which creates the refused nodes
+ // again every second
private static final String MILO_CLIENT_BASE = "milo-client:opc.tcp://foo:bar@localhost:@@port@@"
+ "?allowedSecurityPolicies=None&overrideHost=true"
- + "&samplingInterval=50&requestedPublishingInterval=100";
+ + "&samplingInterval=50&requestedPublishingInterval=100"
+ + "&reconnectTimeout=1000";
private static final String MILO_CLIENT = MILO_CLIENT_BASE + "&node=";
@@ -138,7 +140,7 @@ void nodeCreatedOnTheServerLaterDeliversItsValue() throws Exception {
// the node is created on the server: its first value follows the refusal, without another bad status
lateItemEndpoint.reset();
lateItemEndpoint.expectedMessageCount(1);
- lateItemEndpoint.setResultWaitTime(30_000);
+ lateItemEndpoint.setResultWaitTime(10_000);
lateItemEndpoint.setAssertPeriod(2_000);
testBody(lateItemEndpoint.message(0), assertGoodValue("Foo"));
template.sendBody("milo-server:lateItem", "Foo");
@@ -169,7 +171,7 @@ void nodeOfANamespaceAddedLaterDeliversItsValue() throws Exception {
lateNamespaceItemEndpoint.reset();
lateNamespaceItemEndpoint.expectedMessageCount(1);
- lateNamespaceItemEndpoint.setResultWaitTime(30_000);
+ lateNamespaceItemEndpoint.setResultWaitTime(10_000);
lateNamespaceItemEndpoint.setAssertPeriod(2_000);
testBody(lateNamespaceItemEndpoint.message(0), assertGoodValue("Foo"));
namespace.startup();
@@ -208,8 +210,8 @@ void stoppedConsumerIsNotCreatedAgain() throws Exception {
stoppedItemEndpoint.expectedMessageCount(0);
template.sendBody("milo-server:stoppedItem", "Foo");
- // the next attempt would have created it by now
- await().during(15, TimeUnit.SECONDS).atMost(20, TimeUnit.SECONDS)
+ // the next attempts would have created it by now
+ await().during(3, TimeUnit.SECONDS).atMost(5, TimeUnit.SECONDS)
.until(() -> client.getSubscriptions().get(0).getMonitoredItems().stream()
.noneMatch(item -> "stoppedItem"
.equals(item.getReadValueId().getNodeId().getIdentifier())));
@@ -254,7 +256,7 @@ void refusalOvertakenByTheNextAttemptIsNotDelivered() throws Exception {
private void holdRefusalOfMissingNode(final Exchange exchange) throws InterruptedException {
if (MISSING_NODE.equals(exchange.getMessage().getHeader(MiloConstants.HEADER_NODE_ID))) {
template.sendBody("milo-server:overtakenItem", "Foo");
- overtakenCreated.await(30, TimeUnit.SECONDS);
+ overtakenCreated.await(10, TimeUnit.SECONDS);
} else if (exchange.getMessage().getBody(DataValue.class).getStatusCode().isGood()) {
overtakenCreated.countDown();
}
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 8fad0e784a696..56f7fc046672c 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
@@ -1205,10 +1205,11 @@ the CA (an empty one is enough) to `trusted/crl` or `issuer/crl`. A custom valid
With neither option, the client does not connect to such an endpoint. It logs a `WARN` message
`Failed to connect: The certificate of the OPC UA server cannot be validated`, followed by the endpoint and its
-security policy, and tries again every 10 seconds. A producer fails with `IllegalStateException: No connected`, caused
-by the same message. A server certificate refused by the trust list or by a `certificateValidator` is logged at `WARN`
-as `Failed to connect, because a certificate or security check failed`. To restore the previous behaviour, set the new
-`trustAllCertificates` option to `true`. This is insecure: the client then does not authenticate the server.
+security policy, and tries again after `reconnectTimeout` (10 seconds by default). A producer fails with
+`IllegalStateException: No connected`, caused by the same message. A server certificate refused by the trust list or by
+a `certificateValidator` is logged at `WARN` as `Failed to connect, because a certificate or security check failed`. To
+restore the previous behaviour, set the new `trustAllCertificates` option to `true`. This is insecure: the client then
+does not authenticate the server.
The certificate that the user name and password are encrypted with is checked by the same validator. Endpoints that
use the security policy `None` are not affected.
@@ -2167,9 +2168,9 @@ Bad status of a failed sensor.
Since 4.16, a `milo-client` consumer whose monitored item could not be created, for example because the node does not
exist, received nothing. Now it receives one `DataValue` with the bad status code. The
-monitored item is then created again every 10 seconds on the same connection, without delivering anything for a failed
-attempt, until the server accepts it; its first value is the current value of the node. A route restart or a
-connection that Camel rebuilds creates it again too.
+monitored item is then created again every `reconnectTimeout` (10 seconds by default) on the same connection, without
+delivering anything for a failed attempt, until the server accepts it; its first value is the current value of the node.
+A route restart or a connection that Camel rebuilds creates it again too.
A node ID with a namespace URI (`nsu=`) that is not in the namespace table of the server no longer takes the whole
client connection down, including the consumers of other nodes. Its consumer receives one `DataValue` with
@@ -2222,7 +2223,9 @@ node, and the current values delivered after an outage still arrive.
`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
+delay, and a value of 0 or less is rejected. The option also sets how often the monitored items that the server
+refused are created again: a lower value repeats the `CreateMonitoredItems` request for them, for example for a node ID
+with a typo, more often while the connection lasts. 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
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 a62b8f20e278d..4dd135ff72894 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
@@ -403,8 +403,9 @@ default MiloBrowseComponentBuilder productUri(java.lang.String productUri) {
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option is a: <code>long</code> type.
*
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 93bc2728c8bcd..f3335268ecb81 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
@@ -431,8 +431,9 @@ default MiloClientComponentBuilder productUri(java.lang.String productUri) {
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option is a: <code>long</code> type.
*
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 0a70112a17788..78abfecdc6baa 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
@@ -587,8 +587,9 @@ default MiloBrowseEndpointBuilder productUri(String productUri) {
}
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option is a: long type.
*
@@ -604,8 +605,9 @@ default MiloBrowseEndpointBuilder reconnectTimeout(long reconnectTimeout) {
}
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option will be converted to a long type.
*
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 87b75cfe4fc65..3d5c8123525c6 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
@@ -658,8 +658,9 @@ default MiloClientEndpointConsumerBuilder productUri(String productUri) {
}
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option is a: long type.
*
@@ -675,8 +676,9 @@ default MiloClientEndpointConsumerBuilder reconnectTimeout(long reconnectTimeout
}
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option will be converted to a long type.
*
@@ -1658,8 +1660,9 @@ default MiloClientEndpointProducerBuilder productUri(String productUri) {
}
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option is a: long type.
*
@@ -1675,8 +1678,9 @@ default MiloClientEndpointProducerBuilder reconnectTimeout(long reconnectTimeout
}
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option will be converted to a long type.
*
@@ -2587,8 +2591,9 @@ default MiloClientEndpointBuilder productUri(String productUri) {
}
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option is a: long type.
*
@@ -2604,8 +2609,9 @@ default MiloClientEndpointBuilder reconnectTimeout(long reconnectTimeout) {
}
/**
* 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 server after an attempt failed, and between two attempts to
+ * create the monitored items that the server refused. Neither attempt
+ * is made while the OPC UA client recovers a lost session on its own.
*
* The option will be converted to a long type.
*