Separated the connect/disconnect logic into ConnectHandler/DisconnectHandler Moved the sending of CONN ACK after session creation/update Moved the will message management inside the session class
What is Moquette?
- Documentation reference guide Guide on how to use and configure Moquette
- Google Group Google Group to participate in development discussions.
Moquette aims to be a MQTT compliant broker. The broker supports QoS 0, QoS 1 and QoS 2.
Its designed to be evented, uses Netty for the protocol encoding and decoding part.
Embeddable
Freedomotic Is an home automation framework, uses Moquette embedded to interface with MQTT world.
Moquette is also used into Atomize Spin a software solution for the logistic field.
Part of moquette are used into the Vertx MQTT module, into MQTT spy and into WSO2 Messge broker.
Try the demo instance
Point your browser to cloud instance, request an account then use it from your MQTT clients.
1 minute set up
Start play with it, download the self distribution tar from BinTray ,
the un untar and start the broker listening on 1883 port and enjoy!
tar xvf moquette-distribution-0.11.tar
cd bin
./moquette.sh
Or if you are on Windows shell
cd bin
.\moquette.bat
Embedding in other projects
To embed Moquette in another maven project is sufficient to include a repository and declare the dependency:
<repositories>
<repository>
<id>bintray</id>
<url>https://jcenter.bintray.com</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
Include dependency in your project:
<dependency>
<groupId>io.moquette</groupId>
<artifactId>moquette-broker</artifactId>
<version>0.11</version>
</dependency>
Build from sources
After a git clone of the repository, cd into the cloned sources and: ./gradlew clean moquette-distribution:distMoquetteTar or
./gradlew clean moquette-distribution:distMoquetteZip.
In distribution/build directory will be produced the selfcontained file for the broker with all dependencies and a running script.