From c571800ac3ccbb7cd17f4c930c6f0d6d314f4109 Mon Sep 17 00:00:00 2001 From: javasabr Date: Wed, 10 Dec 2025 18:01:59 +0100 Subject: [PATCH 1/3] work on updating readme --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5d2a7dac..8fb12487 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,15 @@ # JMQTT-Broker -JMQTT-Broker is an open source (GPL v3) Java based MQTT Broker with network implementation based on Java.NIO.2 - +MQTT-Broker is an open source Java based MQTT Broker which implements MQTT v3.1.1 and v5.0 protocol versions. ## Dependencies for building -### java 13+ +### java 25+ ##### Ubuntu: ```bash sudo wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ sudo apt-get install adoptopenjdk-13-hotspot ``` -##### Windows: [Windows x64 installer](https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.1%2B9/OpenJDK13U-jdk_x64_windows_hotspot_13.0.1_9.msi) +##### Windows: [Windows x64 installer](https://adoptium.net/temurin/releases) ##### MacOS: [MacOS x64 installer](https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.1%2B9/OpenJDK13U-jdk_x64_mac_hotspot_13.0.1_9.pkg) ### Docker ##### Ubuntu: [installation guide](https://docs.docker.com/install/linux/docker-ce/ubuntu) From 16395a05d70f60225dc12a1575144f083c3b6e90 Mon Sep 17 00:00:00 2001 From: javasabr Date: Wed, 10 Dec 2025 19:28:50 +0100 Subject: [PATCH 2/3] work on updating readme --- README.md | 83 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 73 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 8fb12487..931476c5 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,79 @@ -# JMQTT-Broker +# 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 + - [X] 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 + - [X] User Property + - [ ] Authentication Method + - [ ] Authentication Data + - [ ] CONNECT Payload + - [X] 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 + - [X] User Name + - [X] Password + - [ ] Connect acknowledgement + - [ ] Session Present + - [ ] CONNACK Properties + - [ ] Session Expiry Interval + - [ ] Receive Maximum + - [X] Maximum QoS + - [ ] Retain Available + - [ ] Maximum Packet Size + - [X] Assigned Client Identifier + - [ ] Topic Alias Maximum + - [ ] Reason String + - [ ] User Property + - [X] Wildcard Subscription Available + - [X] Subscription Identifiers Available + - [X] Shared Subscription Available + - [ ] Server Keep Alive + - [ ] Response Information + - [ ] Server Reference + - [ ] Authentication Method + - [ ] Authentication Data + - [ ] Publish message + - [ ] Correlation Data + - [ ] Correlation Data + - [ ] Correlation Data + - [ ] Correlation Data + - [ ] Correlation Data + - [ ] Correlation Data + - [ ] Correlation Data + - [ ] Correlation Data + - [ ] Correlation Data +2. +- [ ] Feature 2 -MQTT-Broker is an open source Java based MQTT Broker which implements MQTT v3.1.1 and v5.0 protocol versions. ## Dependencies for building ### java 25+ -##### Ubuntu: -```bash -sudo wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - -sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ -sudo apt-get install adoptopenjdk-13-hotspot -``` -##### Windows: [Windows x64 installer](https://adoptium.net/temurin/releases) -##### MacOS: [MacOS x64 installer](https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.1%2B9/OpenJDK13U-jdk_x64_mac_hotspot_13.0.1_9.pkg) +#### [Temurin JDK](https://adoptium.net/temurin/releases) ### Docker ##### Ubuntu: [installation guide](https://docs.docker.com/install/linux/docker-ce/ubuntu) ##### Windows: [installation guide](https://docs.docker.com/docker-for-windows/install) From abe14f39c1949d42425af4a301e6205d5f649ba4 Mon Sep 17 00:00:00 2001 From: javasabr Date: Thu, 11 Dec 2025 18:35:43 +0100 Subject: [PATCH 3/3] finish updating README --- README.md | 106 +++++++++++++++++++++++++++++++-------- application/build.gradle | 10 +++- 2 files changed, 94 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 931476c5..8473d79a 100644 --- a/README.md +++ b/README.md @@ -3,18 +3,18 @@ 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 +### Feature Map 1. MQTT Protocol features: - [ ] Connection Request - [X] Base handling - [ ] CONNECT Variable Header - - [ ] Clean Start - - [ ] Will Flag - - [ ] Will QoS - - [ ] Will Retain - - [ ] User Name Flag - - [ ] Password Flag - - [ ] Keep Alive + - [ ] Clean Start + - [ ] Will Flag + - [ ] Will QoS + - [ ] Will Retain + - [ ] User Name Flag + - [ ] Password Flag + - [ ] Keep Alive - [ ] CONNECT Properties - [ ] Session Expiry Interval - [ ] Receive Maximum @@ -39,6 +39,7 @@ and v5.0 protocol versions based on core library: https://github.com/JavaSaBr/RL - [X] User Name - [X] Password - [ ] Connect acknowledgement + - [X] Base handling - [ ] Session Present - [ ] CONNACK Properties - [ ] Session Expiry Interval @@ -59,17 +60,80 @@ and v5.0 protocol versions based on core library: https://github.com/JavaSaBr/RL - [ ] Authentication Method - [ ] Authentication Data - [ ] Publish message - - [ ] Correlation Data - - [ ] Correlation Data - - [ ] Correlation Data - - [ ] Correlation Data - - [ ] Correlation Data - - [ ] Correlation Data - - [ ] Correlation Data - - [ ] Correlation Data - - [ ] Correlation Data -2. -- [ ] Feature 2 + - [X] Base handling + - [ ] RETAIN + - [ ] PUBLISH Properties + - [ ] Message Expiry Interval + - [X] Payload Format Indicator + - [ ] Topic Alias + - [X] Response Topic + - [X] User Property + - [ ] Subscription Identifier + - [X] Content Type + - [X] Publish acknowledgement + - [X] Base handling + - [X] PUBACK Properties + - [X] Reason String + - [X] User Property + - [X] Publish received + - [X] Base handling + - [X] PUBREC Properties + - [X] Reason String + - [X] User Property + - [X] Publish release + - [X] Base handling + - [X] PUBREL Properties + - [X] Reason String + - [X] User Property + - [X] Publish complete + - [X] Base handling + - [X] PUBCOMP Properties + - [X] Reason String + - [X] User Property + - [ ] Subscribe request + - [X] Base handling + - [ ] SUBSCRIBE Properties + - [ ] Subscription Identifier + - [X] User Property + - [ ] Subscription Options + - [ ] Retain Handling + - [ ] Retain as Published + - [ ] No Local + - [X] Subscribe acknowledgement + - [X] Base handling + - [X] SUBACK Properties + - [X] Reason String + - [X] User Property + - [X] Unsubscribe request + - [X] Base handling + - [X] UNSUBSCRIBE Properties + - [X] User Property + - [X] Unsubscribe acknowledgement + - [X] Base handling + - [X] UNSUBACK Properties + - [X] Reason String + - [X] User Property + - [ ] PING request + - [ ] PING response + - [ ] Disconnect notification + - [X] Base handling + - [ ] DISCONNECT Properties + - [ ] Session Expiry Interval + - [X] Reason String + - [X] User Property + - [ ] Server Reference + - [ ] Authentication exchange + - [X] 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+ @@ -80,9 +144,9 @@ and v5.0 protocol versions based on core library: https://github.com/JavaSaBr/RL ##### MacOS: [installation guide](https://docs.docker.com/docker-for-mac/install) ## Build ```bash -./gradlew buildSingleArtifact +./gradlew :application:bootJar ``` ## Run ```bash -./gradlew bootRun +./gradlew :application:bootRun ``` diff --git a/application/build.gradle b/application/build.gradle index b93e391f..6658c3a8 100644 --- a/application/build.gradle +++ b/application/build.gradle @@ -24,4 +24,12 @@ tasks.withType(GroovyCompile).configureEach { configurations.each { it.exclude group: "org.slf4j", module: "slf4j-log4j12" it.exclude group: "org.springframework.boot", module: "spring-boot-starter-logging" -} \ No newline at end of file +} + +bootRun { + mainClass = "javasabr.mqtt.broker.application.MqttBrokerApplication" +} + +bootJar { + mainClass = "javasabr.mqtt.broker.application.MqttBrokerApplication" +}