MQTT is “lightweight" messaging protocol for use on top of the TCP/IP protocol. This protocol is used when you to keep connections with remote and low-performance devices. For instance, it widespread in IoT sphere.

Despite a plenty of MQTT clients, it is not suitable to use any of the clients with Vert.x out of the box and in Vert.x-like reactive style, keeping a connection with Vert.x's nature.

The project idea aims at developing a native Vert.x MQTT client.

The Vert.x based client must expose all MQTT features and be suitable for use from java-Vert.x code and have a convenient API. Also, for handling all of the network communications the Netty's NetClient should be used as it Vert.x do. Nativeness of the client means that state machine and implementation of behavior model should be written from the scratch. For this reason, it can't be a wrapped around some external and already written MQTT client.



Pavel Drankov


  • Paolo Patierno