MQTT-Broker is an open source Java based MQTT Broker which implements MQTT v3.1.1 and v5.0 protocol versions based on core library: https://github.com/JavaSaBr/RLib
- MQTT Protocol features:
- Connection Request
- Base handling
- CONNECT Variable Header
- Clean Start
- Will Flag
- Will QoS
- Will Retain
- User Name Flag
- Password Flag
- Keep Alive
- CONNECT Properties
- Session Expiry Interval
- Receive Maximum
- Maximum Packet Size
- Topic Alias Maximum
- Request Problem Information
- User Property
- Authentication Method
- Authentication Data
- CONNECT Payload
- Client Identifier
- Will Properties
- Will Delay Interval
- Payload Format Indicator
- Message Expiry Interval
- Content Type
- Response Topic
- Correlation Data
- User Property
- Will Topic
- Will Payload
- User Name
- Password
- Connect acknowledgement
- Base handling
- Session Present
- CONNACK Properties
- Session Expiry Interval
- Receive Maximum
- Maximum QoS
- Retain Available
- Maximum Packet Size
- Assigned Client Identifier
- Topic Alias Maximum
- Reason String
- User Property
- Wildcard Subscription Available
- Subscription Identifiers Available
- Shared Subscription Available
- Server Keep Alive
- Response Information
- Server Reference
- Authentication Method
- Authentication Data
- Publish message
- Base handling
- RETAIN
- PUBLISH Properties
- Message Expiry Interval
- Payload Format Indicator
- Topic Alias
- Response Topic
- User Property
- Subscription Identifier
- Content Type
- Publish acknowledgement
- Base handling
- PUBACK Properties
- Reason String
- User Property
- Publish received
- Base handling
- PUBREC Properties
- Reason String
- User Property
- Publish release
- Base handling
- PUBREL Properties
- Reason String
- User Property
- Publish complete
- Base handling
- PUBCOMP Properties
- Reason String
- User Property
- Subscribe request
- Base handling
- SUBSCRIBE Properties
- Subscription Identifier
- User Property
- Subscription Options
- Retain Handling
- Retain as Published
- No Local
- Subscribe acknowledgement
- Base handling
- SUBACK Properties
- Reason String
- User Property
- Unsubscribe request
- Base handling
- UNSUBSCRIBE Properties
- User Property
- Unsubscribe acknowledgement
- Base handling
- UNSUBACK Properties
- Reason String
- User Property
- PING request
- PING response
- Disconnect notification
- Base handling
- DISCONNECT Properties
- Session Expiry Interval
- Reason String
- User Property
- Server Reference
- Authentication exchange
- Base handling
- AUTH Properties
- Authentication Method
- Authentication Data
- Reason String
- User Property
- Connection Request
- Extra features:
- ACL Service
- Disabled ACL
- Static file based ACL
- Authentication Service
- ACL Service
Ubuntu: installation guide
Windows: installation guide
MacOS: installation guide
./gradlew :application:bootJar./gradlew :application:bootRun