Vert.x MQTT
This project provides the following two different components :
- server : it's able to handle connections, communication and messages exchange with remote MQTT clients. Its API provides a bunch of events related to raw protocol messages received by clients and exposes some functionalities in order to send messages to them. It's not a fully featured MQTT broker but can be used for building something like that or for protocol translation (MQTT <--> ?).
- client : it's an MQTT client which is compliant with the 3.1.1 spec. Its API provides a bunch of methods for connecting/disconnecting to a broker, publishing messages (with all three different levels of QoS) and subscribing to topics.
See the in-source docs for more details:
Some examples are available for getting started with the server under the vertx-examples project.
Running tests
Run all tests. The client is tested with the mqtt.eclipse.org
server.
> mvn verify
Run all tests. The client is tested with a Docker container started by Maven on the 1884
port
> mvn verify -Plocal_test
Like above but with an manual Docker container start/stop.
> docker run -d -p 1884:1883 ansi/mosquitto
> mvn verify -Dmqtt.server.host=localhost -Dmqtt.server.port=1884