This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 18cffc58c6e CAMEL-21589: Enable manual acks mqtt5
18cffc58c6e is described below
commit 18cffc58c6e30ddb56d84cf508905ea23f0fe1a1
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Jan 8 09:30:23 2025 +0100
CAMEL-21589: Enable manual acks mqtt5
---
.../camel/catalog/components/paho-mqtt5.json | 50 ++++++++++----------
.../camel/component/paho/mqtt5/paho-mqtt5.json | 54 +++++++++++-----------
.../paho/mqtt5/PahoMqtt5Configuration.java | 9 ++--
.../component/paho/mqtt5/PahoMqtt5Consumer.java | 8 ++--
.../mqtt5/integration/PahoMqtt5ManualAcksIT.java | 19 +++-----
.../dsl/PahoMqtt5ComponentBuilderFactory.java | 24 ++++++++++
.../dsl/PahoMqtt5EndpointBuilderFactory.java | 42 +++++++++++++++++
7 files changed, 134 insertions(+), 72 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/paho-mqtt5.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/paho-mqtt5.json
index 0e02d6e74c7..5c6a5898ba9 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/paho-mqtt5.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/paho-mqtt5.json
@@ -45,17 +45,18 @@
"willRetained": { "index": 18, "kind": "property", "displayName": "Will
Retained", "group": "common", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client u [...]
"willTopic": { "index": 19, "kind": "property", "displayName": "Will
Topic", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses its [...]
"bridgeErrorHandler": { "index": 20, "kind": "property", "displayName":
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Allows for bridging the consumer to the Camel routing Error Handler, which
mean any exceptions (if possible) occurred while the Camel consumer is trying
to pickup incoming messages, or the lik [...]
- "lazyStartProducer": { "index": 21, "kind": "property", "displayName":
"Lazy Start Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Whether the producer should be started lazy (on the first message). By
starting lazy you can use this to allow CamelContext and routes to startup in
situations where a producer may otherwise fai [...]
- "autowiredEnabled": { "index": 22, "kind": "property", "displayName":
"Autowired Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true, "description":
"Whether autowiring is enabled. This is used for automatic autowiring options
(the option must be marked as autowired) by looking up in the registry to find
if there is a single instance of matching [...]
- "client": { "index": 23, "kind": "property", "displayName": "Client",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "org.eclipse.paho.mqttv5.client.MqttClient", "deprecated": false,
"autowired": false, "secret": false, "description": "To use a shared Paho
client" },
- "customWebSocketHeaders": { "index": 24, "kind": "property",
"displayName": "Custom Web Socket Headers", "group": "advanced", "label":
"advanced", "required": false, "type": "object", "javaType":
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Custom
WebSocket Headers for th [...]
- "executorServiceTimeout": { "index": 25, "kind": "property",
"displayName": "Executor Service Timeout", "group": "advanced", "label":
"advanced", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 1,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Set the time in seconds
that the executor service should wait when [...]
- "httpsHostnameVerificationEnabled": { "index": 26, "kind": "property",
"displayName": "Https Hostname Verification Enabled", "group": "security",
"label": "security", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Whether SSL
HostnameVerifier is enabled [...]
- "password": { "index": 27, "kind": "property", "displayName": "Password",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Password to be used for
authentication against the MQTT broker" },
- "socketFactory": { "index": 28, "kind": "property", "displayName": "Socket
Factory", "group": "security", "label": "security", "required": false, "type":
"object", "javaType": "javax.net.SocketFactory", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the SocketFactory
to use. This allows an application to apply its own policies ar [...]
- "sslClientProps": { "index": 29, "kind": "property", "displayName": "Ssl
Client Props", "group": "security", "label": "security", "required": false,
"type": "object", "javaType": "java.util.Properties", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the SSL properties
for the connection. Note that these properties are only valid [...]
- "sslHostnameVerifier": { "index": 30, "kind": "property", "displayName":
"Ssl Hostname Verifier", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the
HostnameVerifier for the SSL connection. Note that it wil [...]
- "userName": { "index": 31, "kind": "property", "displayName": "User Name",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Username to be used for
authentication against the MQTT broker" }
+ "manualAcksEnabled": { "index": 21, "kind": "property", "displayName":
"Manual Acks Enabled", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets whether to use
manual acknowledgements for the client. By defaul [...]
+ "lazyStartProducer": { "index": 22, "kind": "property", "displayName":
"Lazy Start Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Whether the producer should be started lazy (on the first message). By
starting lazy you can use this to allow CamelContext and routes to startup in
situations where a producer may otherwise fai [...]
+ "autowiredEnabled": { "index": 23, "kind": "property", "displayName":
"Autowired Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true, "description":
"Whether autowiring is enabled. This is used for automatic autowiring options
(the option must be marked as autowired) by looking up in the registry to find
if there is a single instance of matching [...]
+ "client": { "index": 24, "kind": "property", "displayName": "Client",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "org.eclipse.paho.mqttv5.client.MqttClient", "deprecated": false,
"autowired": false, "secret": false, "description": "To use a shared Paho
client" },
+ "customWebSocketHeaders": { "index": 25, "kind": "property",
"displayName": "Custom Web Socket Headers", "group": "advanced", "label":
"advanced", "required": false, "type": "object", "javaType":
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Custom
WebSocket Headers for th [...]
+ "executorServiceTimeout": { "index": 26, "kind": "property",
"displayName": "Executor Service Timeout", "group": "advanced", "label":
"advanced", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 1,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Set the time in seconds
that the executor service should wait when [...]
+ "httpsHostnameVerificationEnabled": { "index": 27, "kind": "property",
"displayName": "Https Hostname Verification Enabled", "group": "security",
"label": "security", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Whether SSL
HostnameVerifier is enabled [...]
+ "password": { "index": 28, "kind": "property", "displayName": "Password",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Password to be used for
authentication against the MQTT broker" },
+ "socketFactory": { "index": 29, "kind": "property", "displayName": "Socket
Factory", "group": "security", "label": "security", "required": false, "type":
"object", "javaType": "javax.net.SocketFactory", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the SocketFactory
to use. This allows an application to apply its own policies ar [...]
+ "sslClientProps": { "index": 30, "kind": "property", "displayName": "Ssl
Client Props", "group": "security", "label": "security", "required": false,
"type": "object", "javaType": "java.util.Properties", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the SSL properties
for the connection. Note that these properties are only valid [...]
+ "sslHostnameVerifier": { "index": 31, "kind": "property", "displayName":
"Ssl Hostname Verifier", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the
HostnameVerifier for the SSL connection. Note that it wil [...]
+ "userName": { "index": 32, "kind": "property", "displayName": "User Name",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Username to be used for
authentication against the MQTT broker" }
},
"headers": {
"CamelMqttTopic": { "index": 0, "kind": "header", "displayName": "",
"group": "consumer", "label": "consumer", "required": false, "javaType":
"String", "deprecated": false, "deprecationNote": "", "autowired": false,
"secret": false, "description": "The name of the topic.", "constantName":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Constants#MQTT_TOPIC" },
@@ -86,18 +87,19 @@
"willQos": { "index": 17, "kind": "parameter", "displayName": "Will Qos",
"group": "common", "label": "", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": 1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses [...]
"willRetained": { "index": 18, "kind": "parameter", "displayName": "Will
Retained", "group": "common", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client [...]
"willTopic": { "index": 19, "kind": "parameter", "displayName": "Will
Topic", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses it [...]
- "bridgeErrorHandler": { "index": 20, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Allows for bridging the consumer to the
Camel routing Error Handler, which mean any exceptions (if possible) occurred
while the Camel consumer is trying to pickup incoming [...]
- "exceptionHandler": { "index": 21, "kind": "parameter", "displayName":
"Exception Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By de [...]
- "exchangePattern": { "index": 22, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ],
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the exchange pattern when the consumer creates an exchange." },
- "lazyStartProducer": { "index": 23, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Whether the producer should be started
lazy (on the first message). By starting lazy you can use this to allow
CamelContext and routes to startup in situations where a produ [...]
- "client": { "index": 24, "kind": "parameter", "displayName": "Client",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "org.eclipse.paho.mqttv5.client.MqttClient", "deprecated": false,
"autowired": false, "secret": false, "description": "To use an existing mqtt
client" },
- "customWebSocketHeaders": { "index": 25, "kind": "parameter",
"displayName": "Custom Web Socket Headers", "group": "advanced", "label":
"advanced", "required": false, "type": "object", "javaType":
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Custom
WebSocket Headers for t [...]
- "executorServiceTimeout": { "index": 26, "kind": "parameter",
"displayName": "Executor Service Timeout", "group": "advanced", "label":
"advanced", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 1,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Set the time in seconds
that the executor service should wait when [...]
- "httpsHostnameVerificationEnabled": { "index": 27, "kind": "parameter",
"displayName": "Https Hostname Verification Enabled", "group": "security",
"label": "security", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Whether SSL
HostnameVerifier is enable [...]
- "password": { "index": 28, "kind": "parameter", "displayName": "Password",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Password to be used for
authentication against the MQTT broker" },
- "socketFactory": { "index": 29, "kind": "parameter", "displayName":
"Socket Factory", "group": "security", "label": "security", "required": false,
"type": "object", "javaType": "javax.net.SocketFactory", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the SocketFactory
to use. This allows an application to apply its own policies a [...]
- "sslClientProps": { "index": 30, "kind": "parameter", "displayName": "Ssl
Client Props", "group": "security", "label": "security", "required": false,
"type": "object", "javaType": "java.util.Properties", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the SSL properties
for the connection. Note that these properties are only valid [...]
- "sslHostnameVerifier": { "index": 31, "kind": "parameter", "displayName":
"Ssl Hostname Verifier", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the
HostnameVerifier for the SSL connection. Note that it wi [...]
- "userName": { "index": 32, "kind": "parameter", "displayName": "User
Name", "group": "security", "label": "security", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": true,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Username to be used for
authentication against the MQTT broker" }
+ "manualAcksEnabled": { "index": 20, "kind": "parameter", "displayName":
"Manual Acks Enabled", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets whether to use
manual acknowledgements for the client. By defau [...]
+ "bridgeErrorHandler": { "index": 21, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Allows for bridging the consumer to the
Camel routing Error Handler, which mean any exceptions (if possible) occurred
while the Camel consumer is trying to pickup incoming [...]
+ "exceptionHandler": { "index": 22, "kind": "parameter", "displayName":
"Exception Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By de [...]
+ "exchangePattern": { "index": 23, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ],
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the exchange pattern when the consumer creates an exchange." },
+ "lazyStartProducer": { "index": 24, "kind": "parameter", "displayName":
"Lazy Start Producer", "group": "producer (advanced)", "label":
"producer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Whether the producer should be started
lazy (on the first message). By starting lazy you can use this to allow
CamelContext and routes to startup in situations where a produ [...]
+ "client": { "index": 25, "kind": "parameter", "displayName": "Client",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "org.eclipse.paho.mqttv5.client.MqttClient", "deprecated": false,
"autowired": false, "secret": false, "description": "To use an existing mqtt
client" },
+ "customWebSocketHeaders": { "index": 26, "kind": "parameter",
"displayName": "Custom Web Socket Headers", "group": "advanced", "label":
"advanced", "required": false, "type": "object", "javaType":
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Custom
WebSocket Headers for t [...]
+ "executorServiceTimeout": { "index": 27, "kind": "parameter",
"displayName": "Executor Service Timeout", "group": "advanced", "label":
"advanced", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 1,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Set the time in seconds
that the executor service should wait when [...]
+ "httpsHostnameVerificationEnabled": { "index": 28, "kind": "parameter",
"displayName": "Https Hostname Verification Enabled", "group": "security",
"label": "security", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Whether SSL
HostnameVerifier is enable [...]
+ "password": { "index": 29, "kind": "parameter", "displayName": "Password",
"group": "security", "label": "security", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "deprecationNote": "",
"autowired": false, "secret": true, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Password to be used for
authentication against the MQTT broker" },
+ "socketFactory": { "index": 30, "kind": "parameter", "displayName":
"Socket Factory", "group": "security", "label": "security", "required": false,
"type": "object", "javaType": "javax.net.SocketFactory", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the SocketFactory
to use. This allows an application to apply its own policies a [...]
+ "sslClientProps": { "index": 31, "kind": "parameter", "displayName": "Ssl
Client Props", "group": "security", "label": "security", "required": false,
"type": "object", "javaType": "java.util.Properties", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the SSL properties
for the connection. Note that these properties are only valid [...]
+ "sslHostnameVerifier": { "index": 32, "kind": "parameter", "displayName":
"Ssl Hostname Verifier", "group": "security", "label": "security", "required":
false, "type": "object", "javaType": "javax.net.ssl.HostnameVerifier",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the
HostnameVerifier for the SSL connection. Note that it wi [...]
+ "userName": { "index": 33, "kind": "parameter", "displayName": "User
Name", "group": "security", "label": "security", "required": false, "type":
"string", "javaType": "java.lang.String", "deprecated": false,
"deprecationNote": "", "autowired": false, "secret": true,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Username to be used for
authentication against the MQTT broker" }
}
}
diff --git
a/components/camel-paho-mqtt5/src/generated/resources/META-INF/org/apache/camel/component/paho/mqtt5/paho-mqtt5.json
b/components/camel-paho-mqtt5/src/generated/resources/META-INF/org/apache/camel/component/paho/mqtt5/paho-mqtt5.json
index b53556f6b07..5c6a5898ba9 100644
---
a/components/camel-paho-mqtt5/src/generated/resources/META-INF/org/apache/camel/component/paho/mqtt5/paho-mqtt5.json
+++
b/components/camel-paho-mqtt5/src/generated/resources/META-INF/org/apache/camel/component/paho/mqtt5/paho-mqtt5.json
@@ -32,20 +32,20 @@
"connectionTimeout": { "index": 5, "kind": "property", "displayName":
"Connection Timeout", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 30, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the connection
timeout value. This value, measured in seconds, defines the maximum [...]
"filePersistenceDirectory": { "index": 6, "kind": "property",
"displayName": "File Persistence Directory", "group": "common", "label": "",
"required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Base directory used by
file persistence. Will by default use user directory." },
"keepAliveInterval": { "index": 7, "kind": "property", "displayName":
"Keep Alive Interval", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 60, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the keep alive
interval. This value, measured in seconds, defines the maximum time [...]
- "manualAcksEnabled": { "index": 8, "kind": "property", "displayName":
"Manual Acks Enabled", "group": "common", "label": "", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets whether to use
manual acknowledgements for the client. By default, this is [...]
- "maxReconnectDelay": { "index": 9, "kind": "property", "displayName": "Max
Reconnect Delay", "group": "common", "label": "", "required": false, "type":
"integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 128000, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Get the maximum time (in
millis) to wait between reconnects" },
- "persistence": { "index": 10, "kind": "property", "displayName":
"Persistence", "group": "common", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Persistence", "enum": [ "FILE",
"MEMORY" ], "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "MEMORY", "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Client per [...]
- "qos": { "index": 11, "kind": "property", "displayName": "Qos", "group":
"common", "label": "", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 2,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Client quality of
service level (0-2)." },
- "receiveMaximum": { "index": 12, "kind": "property", "displayName":
"Receive Maximum", "group": "common", "label": "", "required": false, "type":
"integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 65535, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Receive
Maximum. This value represents the limit of QoS 1 and QoS 2 publications [...]
- "retained": { "index": 13, "kind": "property", "displayName": "Retained",
"group": "common", "label": "", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Retain option" },
- "serverURIs": { "index": 14, "kind": "property", "displayName": "Server
URIs", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Set a list of one or
more serverURIs the client may connect to. Multiple servers can be separated by
comma. E [...]
- "sessionExpiryInterval": { "index": 15, "kind": "property", "displayName":
"Session Expiry Interval", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": -1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Session Expiry
Interval. This value, measured in seconds, defines th [...]
- "willMqttProperties": { "index": 16, "kind": "property", "displayName":
"Will Mqtt Properties", "group": "common", "label": "", "required": false,
"type": "object", "javaType":
"org.eclipse.paho.mqttv5.common.packet.MqttProperties", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connectio [...]
- "willPayload": { "index": 17, "kind": "property", "displayName": "Will
Payload", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses [...]
- "willQos": { "index": 18, "kind": "property", "displayName": "Will Qos",
"group": "common", "label": "", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": 1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses [...]
- "willRetained": { "index": 19, "kind": "property", "displayName": "Will
Retained", "group": "common", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client u [...]
- "willTopic": { "index": 20, "kind": "property", "displayName": "Will
Topic", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses its [...]
- "bridgeErrorHandler": { "index": 21, "kind": "property", "displayName":
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Allows for bridging the consumer to the Camel routing Error Handler, which
mean any exceptions (if possible) occurred while the Camel consumer is trying
to pickup incoming messages, or the lik [...]
+ "maxReconnectDelay": { "index": 8, "kind": "property", "displayName": "Max
Reconnect Delay", "group": "common", "label": "", "required": false, "type":
"integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 128000, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Get the maximum time (in
millis) to wait between reconnects" },
+ "persistence": { "index": 9, "kind": "property", "displayName":
"Persistence", "group": "common", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Persistence", "enum": [ "FILE",
"MEMORY" ], "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "MEMORY", "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Client pers [...]
+ "qos": { "index": 10, "kind": "property", "displayName": "Qos", "group":
"common", "label": "", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 2,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Client quality of
service level (0-2)." },
+ "receiveMaximum": { "index": 11, "kind": "property", "displayName":
"Receive Maximum", "group": "common", "label": "", "required": false, "type":
"integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 65535, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Receive
Maximum. This value represents the limit of QoS 1 and QoS 2 publications [...]
+ "retained": { "index": 12, "kind": "property", "displayName": "Retained",
"group": "common", "label": "", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Retain option" },
+ "serverURIs": { "index": 13, "kind": "property", "displayName": "Server
URIs", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Set a list of one or
more serverURIs the client may connect to. Multiple servers can be separated by
comma. E [...]
+ "sessionExpiryInterval": { "index": 14, "kind": "property", "displayName":
"Session Expiry Interval", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "long", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": -1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Session Expiry
Interval. This value, measured in seconds, defines th [...]
+ "willMqttProperties": { "index": 15, "kind": "property", "displayName":
"Will Mqtt Properties", "group": "common", "label": "", "required": false,
"type": "object", "javaType":
"org.eclipse.paho.mqttv5.common.packet.MqttProperties", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connectio [...]
+ "willPayload": { "index": 16, "kind": "property", "displayName": "Will
Payload", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses [...]
+ "willQos": { "index": 17, "kind": "property", "displayName": "Will Qos",
"group": "common", "label": "", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": 1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses [...]
+ "willRetained": { "index": 18, "kind": "property", "displayName": "Will
Retained", "group": "common", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client u [...]
+ "willTopic": { "index": 19, "kind": "property", "displayName": "Will
Topic", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses its [...]
+ "bridgeErrorHandler": { "index": 20, "kind": "property", "displayName":
"Bridge Error Handler", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Allows for bridging the consumer to the Camel routing Error Handler, which
mean any exceptions (if possible) occurred while the Camel consumer is trying
to pickup incoming messages, or the lik [...]
+ "manualAcksEnabled": { "index": 21, "kind": "property", "displayName":
"Manual Acks Enabled", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets whether to use
manual acknowledgements for the client. By defaul [...]
"lazyStartProducer": { "index": 22, "kind": "property", "displayName":
"Lazy Start Producer", "group": "producer", "label": "producer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false, "description":
"Whether the producer should be started lazy (on the first message). By
starting lazy you can use this to allow CamelContext and routes to startup in
situations where a producer may otherwise fai [...]
"autowiredEnabled": { "index": 23, "kind": "property", "displayName":
"Autowired Enabled", "group": "advanced", "label": "advanced", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": true, "description":
"Whether autowiring is enabled. This is used for automatic autowiring options
(the option must be marked as autowired) by looking up in the registry to find
if there is a single instance of matching [...]
"client": { "index": 24, "kind": "property", "displayName": "Client",
"group": "advanced", "label": "advanced", "required": false, "type": "object",
"javaType": "org.eclipse.paho.mqttv5.client.MqttClient", "deprecated": false,
"autowired": false, "secret": false, "description": "To use a shared Paho
client" },
@@ -75,19 +75,19 @@
"connectionTimeout": { "index": 5, "kind": "parameter", "displayName":
"Connection Timeout", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 30, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the connection
timeout value. This value, measured in seconds, defines the maximum [...]
"filePersistenceDirectory": { "index": 6, "kind": "parameter",
"displayName": "File Persistence Directory", "group": "common", "label": "",
"required": false, "type": "string", "javaType": "java.lang.String",
"deprecated": false, "autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Base directory used by
file persistence. Will by default use user directory." },
"keepAliveInterval": { "index": 7, "kind": "parameter", "displayName":
"Keep Alive Interval", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 60, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the keep alive
interval. This value, measured in seconds, defines the maximum tim [...]
- "manualAcksEnabled": { "index": 8, "kind": "parameter", "displayName":
"Manual Acks Enabled", "group": "common", "label": "", "required": false,
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired":
false, "secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets whether to use
manual acknowledgements for the client. By default, this is [...]
- "maxReconnectDelay": { "index": 9, "kind": "parameter", "displayName":
"Max Reconnect Delay", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 128000, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Get the maximum time (in
millis) to wait between reconnects" },
- "persistence": { "index": 10, "kind": "parameter", "displayName":
"Persistence", "group": "common", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Persistence", "enum": [ "FILE",
"MEMORY" ], "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "MEMORY", "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Client pe [...]
- "qos": { "index": 11, "kind": "parameter", "displayName": "Qos", "group":
"common", "label": "", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 2,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Client quality of
service level (0-2)." },
- "receiveMaximum": { "index": 12, "kind": "parameter", "displayName":
"Receive Maximum", "group": "common", "label": "", "required": false, "type":
"integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 65535, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Receive
Maximum. This value represents the limit of QoS 1 and QoS 2 publications [...]
- "retained": { "index": 13, "kind": "parameter", "displayName": "Retained",
"group": "common", "label": "", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Retain option" },
- "serverURIs": { "index": 14, "kind": "parameter", "displayName": "Server
URIs", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Set a list of one or
more serverURIs the client may connect to. Multiple servers can be separated by
comma. [...]
- "sessionExpiryInterval": { "index": 15, "kind": "parameter",
"displayName": "Session Expiry Interval", "group": "common", "label": "",
"required": false, "type": "integer", "javaType": "long", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Session Expiry
Interval. This value, measured in seconds, defines t [...]
- "willMqttProperties": { "index": 16, "kind": "parameter", "displayName":
"Will Mqtt Properties", "group": "common", "label": "", "required": false,
"type": "object", "javaType":
"org.eclipse.paho.mqttv5.common.packet.MqttProperties", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connecti [...]
- "willPayload": { "index": 17, "kind": "parameter", "displayName": "Will
Payload", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
lose [...]
- "willQos": { "index": 18, "kind": "parameter", "displayName": "Will Qos",
"group": "common", "label": "", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": 1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses [...]
- "willRetained": { "index": 19, "kind": "parameter", "displayName": "Will
Retained", "group": "common", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client [...]
- "willTopic": { "index": 20, "kind": "parameter", "displayName": "Will
Topic", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses it [...]
+ "maxReconnectDelay": { "index": 8, "kind": "parameter", "displayName":
"Max Reconnect Delay", "group": "common", "label": "", "required": false,
"type": "integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 128000, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Get the maximum time (in
millis) to wait between reconnects" },
+ "persistence": { "index": 9, "kind": "parameter", "displayName":
"Persistence", "group": "common", "label": "", "required": false, "type":
"object", "javaType":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Persistence", "enum": [ "FILE",
"MEMORY" ], "deprecated": false, "autowired": false, "secret": false,
"defaultValue": "MEMORY", "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Client per [...]
+ "qos": { "index": 10, "kind": "parameter", "displayName": "Qos", "group":
"common", "label": "", "required": false, "type": "integer", "javaType": "int",
"deprecated": false, "autowired": false, "secret": false, "defaultValue": 2,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Client quality of
service level (0-2)." },
+ "receiveMaximum": { "index": 11, "kind": "parameter", "displayName":
"Receive Maximum", "group": "common", "label": "", "required": false, "type":
"integer", "javaType": "int", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": 65535, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Receive
Maximum. This value represents the limit of QoS 1 and QoS 2 publications [...]
+ "retained": { "index": 12, "kind": "parameter", "displayName": "Retained",
"group": "common", "label": "", "required": false, "type": "boolean",
"javaType": "boolean", "deprecated": false, "autowired": false, "secret":
false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Retain option" },
+ "serverURIs": { "index": 13, "kind": "parameter", "displayName": "Server
URIs", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Set a list of one or
more serverURIs the client may connect to. Multiple servers can be separated by
comma. [...]
+ "sessionExpiryInterval": { "index": 14, "kind": "parameter",
"displayName": "Session Expiry Interval", "group": "common", "label": "",
"required": false, "type": "integer", "javaType": "long", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": -1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Session Expiry
Interval. This value, measured in seconds, defines t [...]
+ "willMqttProperties": { "index": 15, "kind": "parameter", "displayName":
"Will Mqtt Properties", "group": "common", "label": "", "required": false,
"type": "object", "javaType":
"org.eclipse.paho.mqttv5.common.packet.MqttProperties", "deprecated": false,
"autowired": false, "secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connecti [...]
+ "willPayload": { "index": 16, "kind": "parameter", "displayName": "Will
Payload", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
lose [...]
+ "willQos": { "index": 17, "kind": "parameter", "displayName": "Will Qos",
"group": "common", "label": "", "required": false, "type": "integer",
"javaType": "int", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": 1, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses [...]
+ "willRetained": { "index": 18, "kind": "parameter", "displayName": "Will
Retained", "group": "common", "label": "", "required": false, "type":
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false,
"secret": false, "defaultValue": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client [...]
+ "willTopic": { "index": 19, "kind": "parameter", "displayName": "Will
Topic", "group": "common", "label": "", "required": false, "type": "string",
"javaType": "java.lang.String", "deprecated": false, "autowired": false,
"secret": false, "configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets the Last Will and
Testament (LWT) for the connection. In the event that this client unexpectedly
loses it [...]
+ "manualAcksEnabled": { "index": 20, "kind": "parameter", "displayName":
"Manual Acks Enabled", "group": "consumer", "label": "consumer", "required":
false, "type": "boolean", "javaType": "boolean", "deprecated": false,
"autowired": false, "secret": false, "defaultValue": false,
"configurationClass":
"org.apache.camel.component.paho.mqtt5.PahoMqtt5Configuration",
"configurationField": "configuration", "description": "Sets whether to use
manual acknowledgements for the client. By defau [...]
"bridgeErrorHandler": { "index": 21, "kind": "parameter", "displayName":
"Bridge Error Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "boolean", "javaType":
"boolean", "deprecated": false, "autowired": false, "secret": false,
"defaultValue": false, "description": "Allows for bridging the consumer to the
Camel routing Error Handler, which mean any exceptions (if possible) occurred
while the Camel consumer is trying to pickup incoming [...]
"exceptionHandler": { "index": 22, "kind": "parameter", "displayName":
"Exception Handler", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.",
"deprecated": false, "autowired": false, "secret": false, "description": "To
let the consumer use a custom ExceptionHandler. Notice if the option
bridgeErrorHandler is enabled then this option is not in use. By de [...]
"exchangePattern": { "index": 23, "kind": "parameter", "displayName":
"Exchange Pattern", "group": "consumer (advanced)", "label":
"consumer,advanced", "required": false, "type": "object", "javaType":
"org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ],
"deprecated": false, "autowired": false, "secret": false, "description": "Sets
the exchange pattern when the consumer creates an exchange." },
diff --git
a/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Configuration.java
b/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Configuration.java
index 69f4f25556e..a593db63515 100644
---
a/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Configuration.java
+++
b/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Configuration.java
@@ -88,7 +88,7 @@ public class PahoMqtt5Configuration implements Cloneable {
private int executorServiceTimeout = 1;
@UriParam(defaultValue = "-1")
private long sessionExpiryInterval = -1;
- @UriParam
+ @UriParam(label = "consumer")
private boolean manualAcksEnabled;
public String getClientId() {
@@ -553,9 +553,10 @@ public class PahoMqtt5Configuration implements Cloneable {
/**
* Sets whether to use manual acknowledgements for the client.
*
- * By default, this is false and message will be automatically
acknowledged. If set to true, the acknowledgement is
- * added in the exchange's completion callback.
- *
+ * By default, this is false and message will be automatically
acknowledged upon received by Camel. If set to true,
+ * the acknowledgement is deferred to be acknowledged by Camel at the end
of processing the message. This ensures
+ * that only successfully processed messages is acknowledged, and allows
to rollback and retry the message in case
+ * of an error during routing in Camel.
*/
public boolean isManualAcksEnabled() {
return this.manualAcksEnabled;
diff --git
a/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
b/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
index f42ca11a13c..c129ccba178 100644
---
a/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
+++
b/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Consumer.java
@@ -20,8 +20,8 @@ import org.apache.camel.AsyncCallback;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
-import org.apache.camel.spi.Synchronization;
import org.apache.camel.support.DefaultConsumer;
+import org.apache.camel.support.SynchronizationAdapter;
import org.eclipse.paho.mqttv5.client.IMqttToken;
import org.eclipse.paho.mqttv5.client.MqttCallback;
import org.eclipse.paho.mqttv5.client.MqttClient;
@@ -161,19 +161,19 @@ public class PahoMqtt5Consumer extends DefaultConsumer {
exchange.setIn(paho);
if (getEndpoint().getConfiguration().isManualAcksEnabled()) {
- exchange.getExchangeExtension().addOnCompletion(new
Synchronization() {
+ exchange.getExchangeExtension().addOnCompletion(new
SynchronizationAdapter() {
@Override
public void onComplete(Exchange exchange) {
try {
PahoMqtt5Consumer.this.client.messageArrivedComplete(mqttMessage.getId(),
mqttMessage.getQos());
} catch (MqttException e) {
- LOG.warn("Failed to commit message with ID {} due to
MqttException.", mqttMessage.getId());
+ LOG.warn("Failed to commit message with ID: {} due to
{}", mqttMessage.getId(), e.getMessage(), e);
}
}
@Override
public void onFailure(Exchange exchange) {
- LOG.error("Rollback due to error processing Exchange ID:
{}", exchange.getExchangeId(), exchange.getException());
+ LOG.debug("Rollback due to error processing Exchange ID:
{}", exchange.getExchangeId());
}
});
}
diff --git
a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/integration/PahoMqtt5ManualAcksIT.java
b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/integration/PahoMqtt5ManualAcksIT.java
index fc36f22bafc..efed64c8113 100644
---
a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/integration/PahoMqtt5ManualAcksIT.java
+++
b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/integration/PahoMqtt5ManualAcksIT.java
@@ -17,16 +17,12 @@
package org.apache.camel.component.paho.mqtt5.integration;
import org.apache.camel.EndpointInject;
-import org.apache.camel.Exchange;
-import org.apache.camel.ExchangeExtension;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spi.Synchronization;
import org.junit.jupiter.api.Test;
-import static org.mockito.Mockito.*;
-
public class PahoMqtt5ManualAcksIT extends PahoMqtt5ITSupport {
+
@EndpointInject("mock:test")
MockEndpoint mock;
@@ -36,7 +32,8 @@ public class PahoMqtt5ManualAcksIT extends PahoMqtt5ITSupport
{
@Override
public void configure() {
from("direct:test")
- .to("paho-mqtt5:queue?brokerUrl=tcp://localhost:" +
mqttPort + "&qos=2&manualAcksEnabled=true");
+ .to("paho-mqtt5:queue?brokerUrl=tcp://localhost:" +
mqttPort + "&qos=2");
+
from("paho-mqtt5:queue?brokerUrl=tcp://localhost:" + mqttPort
+ "&qos=2&manualAcksEnabled=true")
.to("mock:test");
}
@@ -44,15 +41,11 @@ public class PahoMqtt5ManualAcksIT extends
PahoMqtt5ITSupport {
}
@Test
- public void testSynchronizationCallbackForManualAcks() throws Exception {
-
- Exchange exchange = mock(Exchange.class);
- ExchangeExtension exchangeExtension = mock(ExchangeExtension.class);
- when(exchange.getExchangeExtension()).thenReturn(exchangeExtension);
-
+ public void testManualAcks() throws Exception {
mock.expectedMessageCount(1);
+
template.sendBody("direct:test", "Test Message");
- verify(exchangeExtension).addOnCompletion(any(Synchronization.class));
+ mock.assertIsSatisfied();
}
}
diff --git
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/PahoMqtt5ComponentBuilderFactory.java
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/PahoMqtt5ComponentBuilderFactory.java
index 7c873d4ed55..9852bfca461 100644
---
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/PahoMqtt5ComponentBuilderFactory.java
+++
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/PahoMqtt5ComponentBuilderFactory.java
@@ -493,6 +493,29 @@ public interface PahoMqtt5ComponentBuilderFactory {
}
+ /**
+ * Sets whether to use manual acknowledgements for the client. By
+ * default, this is false and message will be automatically
acknowledged
+ * upon received by Camel. If set to true, the acknowledgement is
+ * deferred to be acknowledged by Camel at the end of processing the
+ * message. This ensures that only successfully processed messages is
+ * acknowledged, and allows to rollback and retry the message in case
of
+ * an error during routing in Camel.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: false
+ * Group: consumer
+ *
+ * @param manualAcksEnabled the value to set
+ * @return the dsl builder
+ */
+ default PahoMqtt5ComponentBuilder manualAcksEnabled(boolean
manualAcksEnabled) {
+ doSetProperty("manualAcksEnabled", manualAcksEnabled);
+ return this;
+ }
+
+
/**
* Whether the producer should be started lazy (on the first message).
* By starting lazy you can use this to allow CamelContext and routes
to
@@ -771,6 +794,7 @@ public interface PahoMqtt5ComponentBuilderFactory {
case "willRetained": getOrCreateConfiguration((PahoMqtt5Component)
component).setWillRetained((boolean) value); return true;
case "willTopic": getOrCreateConfiguration((PahoMqtt5Component)
component).setWillTopic((java.lang.String) value); return true;
case "bridgeErrorHandler": ((PahoMqtt5Component)
component).setBridgeErrorHandler((boolean) value); return true;
+ case "manualAcksEnabled":
getOrCreateConfiguration((PahoMqtt5Component)
component).setManualAcksEnabled((boolean) value); return true;
case "lazyStartProducer": ((PahoMqtt5Component)
component).setLazyStartProducer((boolean) value); return true;
case "autowiredEnabled": ((PahoMqtt5Component)
component).setAutowiredEnabled((boolean) value); return true;
case "client": ((PahoMqtt5Component)
component).setClient((org.eclipse.paho.mqttv5.client.MqttClient) value); return
true;
diff --git
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PahoMqtt5EndpointBuilderFactory.java
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PahoMqtt5EndpointBuilderFactory.java
index a8c6feaae6b..f4eb97ee964 100644
---
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PahoMqtt5EndpointBuilderFactory.java
+++
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PahoMqtt5EndpointBuilderFactory.java
@@ -661,6 +661,48 @@ public interface PahoMqtt5EndpointBuilderFactory {
doSetProperty("willTopic", willTopic);
return this;
}
+ /**
+ * Sets whether to use manual acknowledgements for the client. By
+ * default, this is false and message will be automatically
acknowledged
+ * upon received by Camel. If set to true, the acknowledgement is
+ * deferred to be acknowledged by Camel at the end of processing the
+ * message. This ensures that only successfully processed messages is
+ * acknowledged, and allows to rollback and retry the message in case
of
+ * an error during routing in Camel.
+ *
+ * The option is a: <code>boolean</code> type.
+ *
+ * Default: false
+ * Group: consumer
+ *
+ * @param manualAcksEnabled the value to set
+ * @return the dsl builder
+ */
+ default PahoMqtt5EndpointConsumerBuilder manualAcksEnabled(boolean
manualAcksEnabled) {
+ doSetProperty("manualAcksEnabled", manualAcksEnabled);
+ return this;
+ }
+ /**
+ * Sets whether to use manual acknowledgements for the client. By
+ * default, this is false and message will be automatically
acknowledged
+ * upon received by Camel. If set to true, the acknowledgement is
+ * deferred to be acknowledged by Camel at the end of processing the
+ * message. This ensures that only successfully processed messages is
+ * acknowledged, and allows to rollback and retry the message in case
of
+ * an error during routing in Camel.
+ *
+ * The option will be converted to a <code>boolean</code> type.
+ *
+ * Default: false
+ * Group: consumer
+ *
+ * @param manualAcksEnabled the value to set
+ * @return the dsl builder
+ */
+ default PahoMqtt5EndpointConsumerBuilder manualAcksEnabled(String
manualAcksEnabled) {
+ doSetProperty("manualAcksEnabled", manualAcksEnabled);
+ return this;
+ }
/**
* Whether SSL HostnameVerifier is enabled or not. The default value is
* true.