You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dm...@apache.org on 2020/03/25 14:51:41 UTC

[camel] branch master updated (799a6ee -> 1e1e548)

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

dmvolod pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 799a6ee  Fix some unit test on JDK >= 12
     new 5abe9fe  CAMEL-14495: OPC UA Client samplingInterval parameter seems not take any effect
     new 1e1e548  CAMEL-14495: Regen code Close #3678

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../milo/client/MiloClientComponentConfigurer.java |  5 ++
 .../milo/client/MiloClientEndpointConfigurer.java  |  5 ++
 .../camel/component/milo/client/milo-client.json   |  4 +-
 .../src/main/docs/milo-client-component.adoc       |  8 ++-
 .../milo/client/MiloClientConfiguration.java       | 17 +++++
 .../component/milo/client/MiloClientEndpoint.java  |  4 +-
 .../milo/client/internal/SubscriptionManager.java  |  7 +-
 .../dsl/MiloClientComponentBuilderFactory.java     | 14 ++++
 .../dsl/MiloClientEndpointBuilderFactory.java      | 84 ++++++++++++++++++++++
 9 files changed, 136 insertions(+), 12 deletions(-)


[camel] 02/02: CAMEL-14495: Regen code Close #3678

Posted by dm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 1e1e5486892ab83792d4b68037142453feb3be19
Author: Dmitry Volodin <dm...@gmail.com>
AuthorDate: Wed Mar 25 16:39:16 2020 +0300

    CAMEL-14495: Regen code
    Close #3678
---
 .../dsl/MiloClientComponentBuilderFactory.java     | 14 ++++
 .../dsl/MiloClientEndpointBuilderFactory.java      | 84 ++++++++++++++++++++++
 2 files changed, 98 insertions(+)

diff --git a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloClientComponentBuilderFactory.java b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloClientComponentBuilderFactory.java
index 6fad045..cc800ae 100644
--- a/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloClientComponentBuilderFactory.java
+++ b/core/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/MiloClientComponentBuilderFactory.java
@@ -314,6 +314,19 @@ public interface MiloClientComponentBuilderFactory {
             return this;
         }
         /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option is a: <code>java.lang.Double</code> type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         */
+        default MiloClientComponentBuilder requestedPublishingInterval(
+                java.lang.Double requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
          * Request timeout in milliseconds.
          * 
          * The option is a: <code>java.lang.Long</code> type.
@@ -393,6 +406,7 @@ public interface MiloClientComponentBuilderFactory {
             case "maxResponseMessageSize": getOrCreateConfiguration((MiloClientComponent) component).setMaxResponseMessageSize((java.lang.Long) value); return true;
             case "overrideHost": getOrCreateConfiguration((MiloClientComponent) component).setOverrideHost((boolean) value); return true;
             case "productUri": getOrCreateConfiguration((MiloClientComponent) component).setProductUri((java.lang.String) 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;
             case "sessionTimeout": getOrCreateConfiguration((MiloClientComponent) component).setSessionTimeout((java.lang.Long) value); return true;
diff --git a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloClientEndpointBuilderFactory.java b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloClientEndpointBuilderFactory.java
index 06936cb..83df0d7 100644
--- a/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloClientEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/MiloClientEndpointBuilderFactory.java
@@ -132,6 +132,7 @@ public interface MiloClientEndpointBuilderFactory {
          * 
          * The option is a: <code>java.lang.Double</code> type.
          * 
+         * Default: 0.0
          * Group: common
          */
         default MiloClientEndpointConsumerBuilder samplingInterval(
@@ -144,6 +145,7 @@ public interface MiloClientEndpointBuilderFactory {
          * 
          * The option will be converted to a <code>java.lang.Double</code> type.
          * 
+         * Default: 0.0
          * Group: common
          */
         default MiloClientEndpointConsumerBuilder samplingInterval(
@@ -413,6 +415,32 @@ public interface MiloClientEndpointBuilderFactory {
             return this;
         }
         /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option is a: <code>java.lang.Double</code> type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         */
+        default MiloClientEndpointConsumerBuilder requestedPublishingInterval(
+                Double requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option will be converted to a <code>java.lang.Double</code> type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         */
+        default MiloClientEndpointConsumerBuilder requestedPublishingInterval(
+                String requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
          * Request timeout in milliseconds.
          * 
          * The option is a: <code>java.lang.Long</code> type.
@@ -695,6 +723,7 @@ public interface MiloClientEndpointBuilderFactory {
          * 
          * The option is a: <code>java.lang.Double</code> type.
          * 
+         * Default: 0.0
          * Group: common
          */
         default MiloClientEndpointProducerBuilder samplingInterval(
@@ -707,6 +736,7 @@ public interface MiloClientEndpointBuilderFactory {
          * 
          * The option will be converted to a <code>java.lang.Double</code> type.
          * 
+         * Default: 0.0
          * Group: common
          */
         default MiloClientEndpointProducerBuilder samplingInterval(
@@ -980,6 +1010,32 @@ public interface MiloClientEndpointBuilderFactory {
             return this;
         }
         /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option is a: <code>java.lang.Double</code> type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         */
+        default MiloClientEndpointProducerBuilder requestedPublishingInterval(
+                Double requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option will be converted to a <code>java.lang.Double</code> type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         */
+        default MiloClientEndpointProducerBuilder requestedPublishingInterval(
+                String requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
          * Request timeout in milliseconds.
          * 
          * The option is a: <code>java.lang.Long</code> type.
@@ -1206,6 +1262,7 @@ public interface MiloClientEndpointBuilderFactory {
          * 
          * The option is a: <code>java.lang.Double</code> type.
          * 
+         * Default: 0.0
          * Group: common
          */
         default MiloClientEndpointBuilder samplingInterval(
@@ -1218,6 +1275,7 @@ public interface MiloClientEndpointBuilderFactory {
          * 
          * The option will be converted to a <code>java.lang.Double</code> type.
          * 
+         * Default: 0.0
          * Group: common
          */
         default MiloClientEndpointBuilder samplingInterval(
@@ -1442,6 +1500,32 @@ public interface MiloClientEndpointBuilderFactory {
             return this;
         }
         /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option is a: <code>java.lang.Double</code> type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         */
+        default MiloClientEndpointBuilder requestedPublishingInterval(
+                Double requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
+         * The requested publishing interval in milliseconds.
+         * 
+         * The option will be converted to a <code>java.lang.Double</code> type.
+         * 
+         * Default: 1_000.0
+         * Group: client
+         */
+        default MiloClientEndpointBuilder requestedPublishingInterval(
+                String requestedPublishingInterval) {
+            doSetProperty("requestedPublishingInterval", requestedPublishingInterval);
+            return this;
+        }
+        /**
          * Request timeout in milliseconds.
          * 
          * The option is a: <code>java.lang.Long</code> type.


[camel] 01/02: CAMEL-14495: OPC UA Client samplingInterval parameter seems not take any effect

Posted by dm...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 5abe9fe081baf8b4649b316e4e59e1cbb49b444d
Author: Dmitry Volodin <dm...@gmail.com>
AuthorDate: Wed Mar 25 16:38:42 2020 +0300

    CAMEL-14495: OPC UA Client samplingInterval parameter seems not take any effect
---
 .../milo/client/MiloClientComponentConfigurer.java      |  5 +++++
 .../milo/client/MiloClientEndpointConfigurer.java       |  5 +++++
 .../apache/camel/component/milo/client/milo-client.json |  4 +++-
 .../camel-milo/src/main/docs/milo-client-component.adoc |  8 +++++---
 .../component/milo/client/MiloClientConfiguration.java  | 17 +++++++++++++++++
 .../camel/component/milo/client/MiloClientEndpoint.java |  4 ++--
 .../milo/client/internal/SubscriptionManager.java       |  7 +------
 7 files changed, 38 insertions(+), 12 deletions(-)

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 dfb19a8..05bccb7 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
@@ -67,6 +67,8 @@ public class MiloClientComponentConfigurer extends PropertyConfigurerSupport imp
         case "productUri": getOrCreateConfiguration(target).setProductUri(property(camelContext, java.lang.String.class, value)); return true;
         case "requesttimeout":
         case "requestTimeout": getOrCreateConfiguration(target).setRequestTimeout(property(camelContext, java.lang.Long.class, value)); return true;
+        case "requestedpublishinginterval":
+        case "requestedPublishingInterval": getOrCreateConfiguration(target).setRequestedPublishingInterval(property(camelContext, java.lang.Double.class, value)); return true;
         case "sessionname":
         case "sessionName": getOrCreateConfiguration(target).setSessionName(property(camelContext, java.lang.String.class, value)); return true;
         case "sessiontimeout":
@@ -99,6 +101,7 @@ public class MiloClientComponentConfigurer extends PropertyConfigurerSupport imp
         answer.put("overrideHost", boolean.class);
         answer.put("productUri", java.lang.String.class);
         answer.put("requestTimeout", java.lang.Long.class);
+        answer.put("requestedPublishingInterval", java.lang.Double.class);
         answer.put("sessionName", java.lang.String.class);
         answer.put("sessionTimeout", java.lang.Long.class);
         return answer;
@@ -149,6 +152,8 @@ public class MiloClientComponentConfigurer extends PropertyConfigurerSupport imp
         case "productUri": return getOrCreateConfiguration(target).getProductUri();
         case "requesttimeout":
         case "requestTimeout": return getOrCreateConfiguration(target).getRequestTimeout();
+        case "requestedpublishinginterval":
+        case "requestedPublishingInterval": return getOrCreateConfiguration(target).getRequestedPublishingInterval();
         case "sessionname":
         case "sessionName": return getOrCreateConfiguration(target).getSessionName();
         case "sessiontimeout":
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 e6e85ab..714fc93 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
@@ -67,6 +67,8 @@ public class MiloClientEndpointConfigurer extends PropertyConfigurerSupport impl
         case "productUri": target.getConfiguration().setProductUri(property(camelContext, java.lang.String.class, value)); return true;
         case "requesttimeout":
         case "requestTimeout": target.getConfiguration().setRequestTimeout(property(camelContext, java.lang.Long.class, value)); return true;
+        case "requestedpublishinginterval":
+        case "requestedPublishingInterval": target.getConfiguration().setRequestedPublishingInterval(property(camelContext, java.lang.Double.class, value)); return true;
         case "samplinginterval":
         case "samplingInterval": target.setSamplingInterval(property(camelContext, java.lang.Double.class, value)); return true;
         case "sessionname":
@@ -106,6 +108,7 @@ public class MiloClientEndpointConfigurer extends PropertyConfigurerSupport impl
         answer.put("overrideHost", boolean.class);
         answer.put("productUri", java.lang.String.class);
         answer.put("requestTimeout", java.lang.Long.class);
+        answer.put("requestedPublishingInterval", java.lang.Double.class);
         answer.put("samplingInterval", java.lang.Double.class);
         answer.put("sessionName", java.lang.String.class);
         answer.put("sessionTimeout", java.lang.Long.class);
@@ -165,6 +168,8 @@ public class MiloClientEndpointConfigurer extends PropertyConfigurerSupport impl
         case "productUri": return target.getConfiguration().getProductUri();
         case "requesttimeout":
         case "requestTimeout": return target.getConfiguration().getRequestTimeout();
+        case "requestedpublishinginterval":
+        case "requestedPublishingInterval": return target.getConfiguration().getRequestedPublishingInterval();
         case "samplinginterval":
         case "samplingInterval": return target.getSamplingInterval();
         case "sessionname":
diff --git a/components/camel-milo/src/generated/resources/org/apache/camel/component/milo/client/milo-client.json b/components/camel-milo/src/generated/resources/org/apache/camel/component/milo/client/milo-client.json
index d464529..6bf2589 100644
--- a/components/camel-milo/src/generated/resources/org/apache/camel/component/milo/client/milo-client.json
+++ b/components/camel-milo/src/generated/resources/org/apache/camel/component/milo/client/milo-client.json
@@ -39,6 +39,7 @@
     "maxResponseMessageSize": { "kind": "property", "displayName": "Max Response Message Size", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The maximum number of bytes a response message may have" },
     "overrideHost": { "kind": "property", "displayName": "Override Host", "group": "client", "label": "client", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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." },
     "productUri": { "kind": "property", "displayName": "Product Uri", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The product URI" },
+    "requestedPublishingInterval": { "kind": "property", "displayName": "Requested Publishing Interval", "group": "client", "label": "client", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": 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": { "kind": "property", "displayName": "Request Timeout", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Request timeout in milliseconds" },
     "sessionName": { "kind": "property", "displayName": "Session Name", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Session name" },
     "sessionTimeout": { "kind": "property", "displayName": "Session Timeout", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Session timeout in milliseconds" }
@@ -51,7 +52,7 @@
     "discoveryEndpointUri": { "kind": "parameter", "displayName": "Discovery Endpoint Uri", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "An alternative discovery URI" },
     "method": { "kind": "parameter", "displayName": "Method", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The method definition (see Method ID)" },
     "node": { "kind": "parameter", "displayName": "Node", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "description": "The node definition (see Node ID)" },
-    "samplingInterval": { "kind": "parameter", "displayName": "Sampling Interval", "group": "common", "label": "", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "secret": false, "description": "The sampling interval in milliseconds" },
+    "samplingInterval": { "kind": "parameter", "displayName": "Sampling Interval", "group": "common", "label": "", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": false, "secret": false, "defaultValue": "0.0", "description": "The sampling interval in milliseconds" },
     "bridgeErrorHandler": { "kind": "parameter", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled b [...]
     "exceptionHandler": { "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with [...]
     "exchangePattern": { "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut", "InOptionalOut" ], "deprecated": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." },
@@ -71,6 +72,7 @@
     "maxResponseMessageSize": { "kind": "parameter", "displayName": "Max Response Message Size", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The maximum number of bytes a response message may have" },
     "overrideHost": { "kind": "parameter", "displayName": "Override Host", "group": "client", "label": "client", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": 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." },
     "productUri": { "kind": "parameter", "displayName": "Product Uri", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "defaultValue": "http:\/\/camel.apache.org\/EclipseMilo", "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "The product URI" },
+    "requestedPublishingInterval": { "kind": "parameter", "displayName": "Requested Publishing Interval", "group": "client", "label": "client", "required": false, "type": "number", "javaType": "java.lang.Double", "deprecated": 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": { "kind": "parameter", "displayName": "Request Timeout", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Request timeout in milliseconds" },
     "sessionName": { "kind": "parameter", "displayName": "Session Name", "group": "client", "label": "client", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Session name" },
     "sessionTimeout": { "kind": "parameter", "displayName": "Session Timeout", "group": "client", "label": "client", "required": false, "type": "integer", "javaType": "java.lang.Long", "deprecated": false, "secret": false, "configurationClass": "org.apache.camel.component.milo.client.MiloClientConfiguration", "configurationField": "configuration", "description": "Session timeout in milliseconds" }
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 c70e4c5..fc16e17 100644
--- a/components/camel-milo/src/main/docs/milo-client-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-client-component.adoc
@@ -28,7 +28,7 @@ for this component:
 
 
 // component options: START
-The OPC UA Client component supports 23 options, which are listed below.
+The OPC UA Client component supports 24 options, which are listed below.
 
 
 
@@ -55,6 +55,7 @@ The OPC UA Client component supports 23 options, which are listed below.
 | *maxResponseMessageSize* (client) | The maximum number of bytes a response message may have |  | Long
 | *overrideHost* (client) | Override the server reported endpoint host with the host from the endpoint URI. | false | boolean
 | *productUri* (client) | The product URI | http://camel.apache.org/EclipseMilo | String
+| *requestedPublishingInterval* (client) | The requested publishing interval in milliseconds | 1_000.0 | Double
 | *requestTimeout* (client) | Request timeout in milliseconds |  | Long
 | *sessionName* (client) | Session name |  | String
 | *sessionTimeout* (client) | Session timeout in milliseconds |  | Long
@@ -120,7 +121,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (29 parameters):
+=== Query Parameters (30 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -132,7 +133,7 @@ with the following path and query parameters:
 | *discoveryEndpointUri* (common) | An alternative discovery URI |  | String
 | *method* (common) | The method definition (see Method ID) |  | String
 | *node* (common) | The node definition (see Node ID) |  | String
-| *samplingInterval* (common) | The sampling interval in milliseconds |  | Double
+| *samplingInterval* (common) | The sampling interval in milliseconds | 0.0 | Double
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. The value can be one of: InOnly, InOut, InOptionalOut |  | ExchangePattern
@@ -152,6 +153,7 @@ with the following path and query parameters:
 | *maxResponseMessageSize* (client) | The maximum number of bytes a response message may have |  | Long
 | *overrideHost* (client) | Override the server reported endpoint host with the host from the endpoint URI. | false | boolean
 | *productUri* (client) | The product URI | http://camel.apache.org/EclipseMilo | String
+| *requestedPublishingInterval* (client) | The requested publishing interval in milliseconds | 1_000.0 | Double
 | *requestTimeout* (client) | Request timeout in milliseconds |  | Long
 | *sessionName* (client) | Session name |  | String
 | *sessionTimeout* (client) | Session timeout in milliseconds |  | Long
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 687a88a..d116f16 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
@@ -44,6 +44,8 @@ public class MiloClientConfiguration implements Cloneable {
 
     private static final String DEFAULT_PRODUCT_URI = "http://camel.apache.org/EclipseMilo";
 
+    private static final Double DEFAULT_REQUESTED_PUBLISHING_INTERVAL = 1_000.0;
+
     @XmlTransient // to not be included in component docs
     private String endpointUri;
 
@@ -104,6 +106,9 @@ public class MiloClientConfiguration implements Cloneable {
     @UriParam(label = "client")
     private boolean overrideHost;
 
+    @UriParam(label = "client", defaultValue = "1_000.0")
+    private Double requestedPublishingInterval = DEFAULT_REQUESTED_PUBLISHING_INTERVAL;
+
     public MiloClientConfiguration() {
     }
 
@@ -127,6 +132,7 @@ public class MiloClientConfiguration implements Cloneable {
         this.keyPassword = other.keyPassword;
         this.allowedSecurityPolicies = allowedSecurityPolicies != null ? new HashSet<>(other.allowedSecurityPolicies) : null;
         this.overrideHost = other.overrideHost;
+        this.requestedPublishingInterval = other.requestedPublishingInterval;
     }
 
     /**
@@ -388,6 +394,17 @@ public class MiloClientConfiguration implements Cloneable {
         return overrideHost;
     }
 
+    /**
+     * The requested publishing interval in milliseconds
+     */
+    public void setRequestedPublishingInterval(Double requestedPublishingInterval) {
+        this.requestedPublishingInterval = requestedPublishingInterval;
+    }
+
+    public Double getRequestedPublishingInterval() {
+        return requestedPublishingInterval;
+    }
+
     @Override
     public MiloClientConfiguration clone() {
         return new MiloClientConfiguration(this);
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
index a48008e..40db1ed 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/MiloClientEndpoint.java
@@ -57,8 +57,8 @@ public class MiloClientEndpoint extends DefaultEndpoint {
     /**
      * The sampling interval in milliseconds
      */
-    @UriParam
-    private Double samplingInterval;
+    @UriParam(defaultValue = "0.0")
+    private Double samplingInterval = 0.0;
 
     /**
      * The client configuration
diff --git a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/internal/SubscriptionManager.java b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/internal/SubscriptionManager.java
index 786854f..cedadca 100644
--- a/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/internal/SubscriptionManager.java
+++ b/components/camel-milo/src/main/java/org/apache/camel/component/milo/client/internal/SubscriptionManager.java
@@ -171,10 +171,6 @@ public class SubscriptionManager {
                 } else {
                     final ReadValueId itemId = new ReadValueId(node, AttributeId.Value.uid(), null, QualifiedName.NULL_VALUE);
                     Double samplingInterval = s.getSamplingInterval();
-                    if (samplingInterval == null) {
-                        // work around a bug (NPE) in Eclipse Milo 0.1.3
-                        samplingInterval = 0.0;
-                    }
                     final MonitoringParameters parameters = new MonitoringParameters(entry.getKey(), samplingInterval, null, null, null);
                     items.add(new MonitoredItemCreateRequest(itemId, MonitoringMode.Reporting, parameters));
                 }
@@ -337,7 +333,6 @@ public class SubscriptionManager {
 
             });
         }
-
     }
 
     private final MiloClientConfiguration configuration;
@@ -478,7 +473,7 @@ public class SubscriptionManager {
         client.connect().get();
 
         try {
-            final UaSubscription manager = client.getSubscriptionManager().createSubscription(1_000.0).get();
+            final UaSubscription manager = client.getSubscriptionManager().createSubscription(this.configuration.getRequestedPublishingInterval()).get();
             client.getSubscriptionManager().addSubscriptionListener(new SubscriptionListenerImpl());
 
             return new Connected(client, manager);