Andreas Huber created CAMEL-26735:
-------------------------------------
Summary: New component camel-vertx-mqtt: MQTT 3.1.1 and 5 client
based on the Vert.x MQTT client
Key: CAMEL-26735
URL: https://issues.apache.org/jira/browse/CAMEL-26735
Project: Camel
Issue Type: New Feature
Components: camel-vertx
Reporter: Andreas Huber
A new component vertx-mqtt (vertx-mqtt:topic) that connects to an MQTT broker
with the Vert.x MQTT client (io.vertx:vertx-mqtt), as discussed on dev@camel
("[DISCUSS] New component camel-vertx-mqtt").
It fits applications that already run on Vert.x and gives Camel an MQTT 5
client without the Paho or HiveMQ client libraries.
Features:
* Consumer and producer for MQTT 3.1.1 and MQTT 5
* QoS 0, 1 and 2, retained messages, will message, clean start and session
expiry
* MQTT 5 properties mapped to headers: content type, response topic,
correlation data, message expiry interval and user properties
* Manual acknowledgements and receive maximum for the consumer
* TLS through sslContextParameters (VertxHelper of camel-vertx-common), with
host name verification
* Username and password authentication
* Automatic reconnect with exponential backoff (reconnectDelay,
maxReconnectDelay), resubscribing after every connect
Reconnect: the Vert.x MQTT client does not reconnect by itself yet
(vert-x3/vertx-mqtt#197). The reconnect logic is kept in a class of its own,
so the component can switch to the client's reconnect once it exists. The pull
request describes how cleanStart=false and in-flight QoS 1/2 messages behave
when the connection drops.
Tests: unit tests, plus integration tests against Mosquitto and HiveMQ CE
through camel-test-infra, including reconnect after a broker failure and
restart.
The component is based on Vert.x 5 and therefore targets main (4.24).
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)