This is an automated email from the ASF dual-hosted git repository. apupier pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 5eb52bd8e3a7f17eaadcd72a3037fab739850391 Author: Thomas Strauss <[email protected]> AuthorDate: Tue Sep 29 23:41:11 2026 +0200 CAMEL-25030: camel-hivemq: document MQTT 3.1.1 support and regenerate catalog Updates the component docs to describe the new mqttVersion option and drops MQTT 3.1.1 from the "current limitations" list. Regenerates the mirrored catalog metadata (catalog/camel-catalog) to match the updated hivemq.json and doc page. AI-assisted contribution: authored together with Claude Sonnet 5 (Anthropic). Co-Authored-By: Claude Sonnet 5 <[email protected]> --- .../apache/camel/catalog/components/hivemq.json | 44 +++++++++++----------- .../camel/catalog/docs/hivemq-component.adoc | 19 ++++++++-- .../src/main/docs/hivemq-component.adoc | 19 ++++++++-- 3 files changed, 55 insertions(+), 27 deletions(-) diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/hivemq.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/hivemq.json index 9b0950bfb59f..0dbbee22aad2 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/hivemq.json +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/hivemq.json @@ -24,19 +24,20 @@ "remote": true }, "componentProperties": { - "cleanStart": { "index": 0, "kind": "property", "displayName": "Clean Start", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether to initiate a clean start (MQTT 5) upon connecting to the broker." }, + "cleanStart": { "index": 0, "kind": "property", "displayName": "Clean Start", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether to initiate a clean session upon connecting to the broker (called clean session in MQTT 3.1.1 a [...] "clientId": { "index": 1, "kind": "property", "displayName": "Client Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Client identifier used when connecting to the HiveMQ broker." }, "configuration": { "index": 2, "kind": "property", "displayName": "Configuration", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.hivemq.HiveMQConfiguration", "deprecated": false, "autowired": false, "secret": false, "description": "Component configuration." }, "host": { "index": 3, "kind": "property", "displayName": "Host", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "localhost", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Hostname or IP address of the HiveMQ MQTT broker." }, - "port": { "index": 4, "kind": "property", "displayName": "Port", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1883, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Port number of the HiveMQ MQTT broker." }, - "qos": { "index": 5, "kind": "property", "displayName": "Qos", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "com.hivemq.client.mqtt.datatypes.MqttQos", "enum": [ "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AT_LEAST_ONCE", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Default Quality [...] - "retained": { "index": 6, "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.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether published messages should be retained by the MQTT broker." }, - "bridgeErrorHandler": { "index": 7, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the like [...] - "lazyStartProducer": { "index": 8, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...] - "autowiredEnabled": { "index": 9, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...] - "password": { "index": 10, "kind": "property", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Password for authentication with the HiveMQ broker." }, - "ssl": { "index": 11, "kind": "property", "displayName": "Ssl", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "insecureValue": "false", "defaultValue": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether to enable SSL\/TLS encryption for the broker [...] - "username": { "index": 12, "kind": "property", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Username for authentication with the HiveMQ broker." } + "mqttVersion": { "index": 4, "kind": "property", "displayName": "Mqtt Version", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "com.hivemq.client.mqtt.MqttVersion", "enum": [ "MQTT_3_1_1", "MQTT_5_0" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MQTT_5_0", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "The MQTT protocol version to use [...] + "port": { "index": 5, "kind": "property", "displayName": "Port", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1883, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Port number of the HiveMQ MQTT broker." }, + "qos": { "index": 6, "kind": "property", "displayName": "Qos", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "com.hivemq.client.mqtt.datatypes.MqttQos", "enum": [ "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AT_LEAST_ONCE", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Default Quality [...] + "retained": { "index": 7, "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.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether published messages should be retained by the MQTT broker." }, + "bridgeErrorHandler": { "index": 8, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions (if possible) occurred while the Camel consumer is trying to pickup incoming messages, or the like [...] + "lazyStartProducer": { "index": 9, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...] + "autowiredEnabled": { "index": 10, "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 [...] + "password": { "index": 11, "kind": "property", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Password for authentication with the HiveMQ broker." }, + "ssl": { "index": 12, "kind": "property", "displayName": "Ssl", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "insecureValue": "false", "defaultValue": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether to enable SSL\/TLS encryption for the broker [...] + "username": { "index": 13, "kind": "property", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Username for authentication with the HiveMQ broker." } }, "headers": { "CamelHiveMQTopic": { "index": 0, "kind": "header", "displayName": "", "group": "common", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The topic to publish\/subscribe to.", "constantName": "org.apache.camel.component.hivemq.HiveMQConstants#MQTT_TOPIC" }, @@ -46,18 +47,19 @@ }, "properties": { "topic": { "index": 0, "kind": "path", "displayName": "Topic", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The MQTT topic name or pattern to subscribe to or publish on." }, - "cleanStart": { "index": 1, "kind": "parameter", "displayName": "Clean Start", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether to initiate a clean start (MQTT 5) upon connecting to the broker." }, + "cleanStart": { "index": 1, "kind": "parameter", "displayName": "Clean Start", "group": "common", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether to initiate a clean session upon connecting to the broker (called clean session in MQTT 3.1.1 [...] "clientId": { "index": 2, "kind": "parameter", "displayName": "Client Id", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Client identifier used when connecting to the HiveMQ broker." }, "host": { "index": 3, "kind": "parameter", "displayName": "Host", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "localhost", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Hostname or IP address of the HiveMQ MQTT broker." }, - "port": { "index": 4, "kind": "parameter", "displayName": "Port", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1883, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Port number of the HiveMQ MQTT broker." }, - "qos": { "index": 5, "kind": "parameter", "displayName": "Qos", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "com.hivemq.client.mqtt.datatypes.MqttQos", "enum": [ "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AT_LEAST_ONCE", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Default Quality [...] - "retained": { "index": 6, "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.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether published messages should be retained by the MQTT broker." }, - "bridgeErrorHandler": { "index": 7, "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": 8, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By def [...] - "exchangePattern": { "index": 9, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, - "lazyStartProducer": { "index": 10, "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 [...] - "password": { "index": 11, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Password for authentication with the HiveMQ broker." }, - "ssl": { "index": 12, "kind": "parameter", "displayName": "Ssl", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "insecureValue": "false", "defaultValue": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether to enable SSL\/TLS encryption for the broke [...] - "username": { "index": 13, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Username for authentication with the HiveMQ broker." } + "mqttVersion": { "index": 4, "kind": "parameter", "displayName": "Mqtt Version", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "com.hivemq.client.mqtt.MqttVersion", "enum": [ "MQTT_3_1_1", "MQTT_5_0" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "MQTT_5_0", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "The MQTT protocol version to use [...] + "port": { "index": 5, "kind": "parameter", "displayName": "Port", "group": "common", "label": "", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 1883, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Port number of the HiveMQ MQTT broker." }, + "qos": { "index": 6, "kind": "parameter", "displayName": "Qos", "group": "common", "label": "", "required": false, "type": "enum", "javaType": "com.hivemq.client.mqtt.datatypes.MqttQos", "enum": [ "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AT_LEAST_ONCE", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Default Quality [...] + "retained": { "index": 7, "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.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether published messages should be retained by the MQTT broker." }, + "bridgeErrorHandler": { "index": 8, "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": 9, "kind": "parameter", "displayName": "Exception Handler", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "org.apache.camel.spi.ExceptionHandler", "optionalPrefix": "consumer.", "deprecated": false, "autowired": false, "secret": false, "description": "To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By def [...] + "exchangePattern": { "index": 10, "kind": "parameter", "displayName": "Exchange Pattern", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "enum", "javaType": "org.apache.camel.ExchangePattern", "enum": [ "InOnly", "InOut" ], "deprecated": false, "autowired": false, "secret": false, "description": "Sets the exchange pattern when the consumer creates an exchange." }, + "lazyStartProducer": { "index": 11, "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 [...] + "password": { "index": 12, "kind": "parameter", "displayName": "Password", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": true, "security": "secret", "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Password for authentication with the HiveMQ broker." }, + "ssl": { "index": 13, "kind": "parameter", "displayName": "Ssl", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "security": "insecure:ssl", "insecureValue": "false", "defaultValue": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Whether to enable SSL\/TLS encryption for the broke [...] + "username": { "index": 14, "kind": "parameter", "displayName": "Username", "group": "security", "label": "security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.hivemq.HiveMQConfiguration", "configurationField": "configuration", "description": "Username for authentication with the HiveMQ broker." } } } diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hivemq-component.adoc b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hivemq-component.adoc index 321ea80806cb..0121e4ce2adb 100644 --- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hivemq-component.adoc +++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/hivemq-component.adoc @@ -13,8 +13,8 @@ *{component-header}* The HiveMQ component provides connectivity to MQTT message brokers using the -https://www.hivemq.com/[HiveMQ MQTT Client] library. This component uses -**MQTT 5 only**. MQTT 3.1.1 is not supported. +https://www.hivemq.com/[HiveMQ MQTT Client] library. It supports both **MQTT 5** +(the default) and **MQTT 3.1.1**, selected with the `mqttVersion` option. Maven users will need to add the following dependency to their `pom.xml` for this component: @@ -223,6 +223,20 @@ from("hivemq:some/topic" .to("mock:test"); ---- +=== MQTT protocol version + +By default, the HiveMQ component connects using MQTT 5. Set `mqttVersion=MQTT_3_1_1` +to connect to a broker using MQTT 3.1.1 instead: + +[source,java] +---- +from("hivemq:some/topic" + + "?host=mqtt.example.com" + + "&port=1883" + + "&mqttVersion=MQTT_3_1_1") + .to("mock:test"); +---- + === Client identifier A custom MQTT client identifier can be configured using the `clientId` option: @@ -254,7 +268,6 @@ success or failure. Manual acknowledgement is not supported. The following MQTT 5 / client features are **not** implemented and may be added in follow-up work: -* MQTT 3.1.1 * Will messages * MQTT 5 publish properties (user properties, content type, correlation data, response topic, expiry, and similar) * Subscription options beyond topic filter and QoS diff --git a/components/camel-hivemq/src/main/docs/hivemq-component.adoc b/components/camel-hivemq/src/main/docs/hivemq-component.adoc index 321ea80806cb..0121e4ce2adb 100644 --- a/components/camel-hivemq/src/main/docs/hivemq-component.adoc +++ b/components/camel-hivemq/src/main/docs/hivemq-component.adoc @@ -13,8 +13,8 @@ *{component-header}* The HiveMQ component provides connectivity to MQTT message brokers using the -https://www.hivemq.com/[HiveMQ MQTT Client] library. This component uses -**MQTT 5 only**. MQTT 3.1.1 is not supported. +https://www.hivemq.com/[HiveMQ MQTT Client] library. It supports both **MQTT 5** +(the default) and **MQTT 3.1.1**, selected with the `mqttVersion` option. Maven users will need to add the following dependency to their `pom.xml` for this component: @@ -223,6 +223,20 @@ from("hivemq:some/topic" .to("mock:test"); ---- +=== MQTT protocol version + +By default, the HiveMQ component connects using MQTT 5. Set `mqttVersion=MQTT_3_1_1` +to connect to a broker using MQTT 3.1.1 instead: + +[source,java] +---- +from("hivemq:some/topic" + + "?host=mqtt.example.com" + + "&port=1883" + + "&mqttVersion=MQTT_3_1_1") + .to("mock:test"); +---- + === Client identifier A custom MQTT client identifier can be configured using the `clientId` option: @@ -254,7 +268,6 @@ success or failure. Manual acknowledgement is not supported. The following MQTT 5 / client features are **not** implemented and may be added in follow-up work: -* MQTT 3.1.1 * Will messages * MQTT 5 publish properties (user properties, content type, correlation data, response topic, expiry, and similar) * Subscription options beyond topic filter and QoS
