Skip to content

JavaSaBr/mqtt-broker

Repository files navigation

MQTT-Broker

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

Feature Map

  1. 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
  2. Extra features:
    • ACL Service
      • Disabled ACL
      • Static file based ACL
    • Authentication Service

Dependencies for building

java 25+

Docker

Build

./gradlew :application:bootJar

Run

./gradlew :application:bootRun

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •