From dccb4e52fb9acde5604981acf8c1eee91359f2a3 Mon Sep 17 00:00:00 2001 From: Wen JY Date: Tue, 22 Aug 2023 11:17:24 +0800 Subject: [PATCH] =?UTF-8?q?change=20-=20broker=E6=B7=BB=E5=8A=A0=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-modules/hw-mqtt-broker/pom.xml | 121 ++++++------------ .../com/hw/mqtt/HwMqttBrokerApplication.java | 1 + .../hw/mqtt/controller/ServerController.java | 81 ------------ .../listener/MqttConnectStatusListener.java | 1 + .../com/hw/mqtt/service/ServerService.java | 29 ----- .../src/main/resources/bootstrap.yml | 22 ++++ 6 files changed, 60 insertions(+), 195 deletions(-) delete mode 100644 ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/controller/ServerController.java delete mode 100644 ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/service/ServerService.java create mode 100644 ruoyi-modules/hw-mqtt-broker/src/main/resources/bootstrap.yml diff --git a/ruoyi-modules/hw-mqtt-broker/pom.xml b/ruoyi-modules/hw-mqtt-broker/pom.xml index e89901b..0616e7a 100644 --- a/ruoyi-modules/hw-mqtt-broker/pom.xml +++ b/ruoyi-modules/hw-mqtt-broker/pom.xml @@ -1,68 +1,65 @@ - 4.0.0 - - - org.springframework.boot - spring-boot-starter-parent - 2.7.9 - + 4.0.0 + hw-mqtt-broker - MQTT Broker + + Mqtt Broker + + - 2.1.0 - 1.8 - UTF-8 - 2.7.9 - 2.7.9 - 1.2.83 - 2.6.0 - 5.9.2 + 8 + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + net.dreamlu mica-mqtt-server-spring-boot-starter + 2.1.0 - - org.springframework.boot - spring-boot-starter-web - - - net.dreamlu - mica-lite - - - net.dreamlu - mica-logging - + net.dreamlu mica-redis + 2.7.9 + net.dreamlu - mica-openapi - - - - org.springframework.boot - spring-boot-starter-actuator - - - io.micrometer - micrometer-registry-prometheus + mica-logging + 2.7.9 + + org.projectlombok lombok @@ -70,52 +67,6 @@ - - - - org.springframework.boot - spring-boot-dependencies - ${spring.boot.version} - pom - import - - - net.dreamlu - mica-bom - ${mica.version} - pom - import - - - com.alibaba - fastjson - ${fastjson.version} - - - net.dreamlu - mica-mqtt-server-spring-boot-starter - ${revision} - - - - org.tinylog - slf4j-tinylog - ${tinylog.version} - - - org.tinylog - tinylog-impl - ${tinylog.version} - - - org.junit.jupiter - junit-jupiter-engine - ${junit-jupiter.version} - test - - - - ${project.artifactId} diff --git a/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/HwMqttBrokerApplication.java b/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/HwMqttBrokerApplication.java index f02f687..6540766 100644 --- a/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/HwMqttBrokerApplication.java +++ b/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/HwMqttBrokerApplication.java @@ -1,5 +1,6 @@ package com.hw.mqtt; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/controller/ServerController.java b/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/controller/ServerController.java deleted file mode 100644 index 1f75b87..0000000 --- a/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/controller/ServerController.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hw.mqtt.controller; - -import com.hw.mqtt.domain.AjaxResult; -import com.hw.mqtt.service.IMqttBrokerService; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.ArrayList; -import java.util.List; - -/** - * Broker Http 接口 - */ -@Tag(name = "Mqtt::服务端") -@RequestMapping("/mqtt/server") -@RestController -public class ServerController { - @Autowired - private IMqttBrokerService service; - - @Operation(summary = "Broker发布消息") - @PostMapping("/publish") - public AjaxResult publish(String topic,String payload) { - AjaxResult ajaxResult; - boolean result = false; - try{ - result = service.publish(topic,payload); - ajaxResult = AjaxResult.success(result); - }catch (Exception ex){ - ajaxResult = AjaxResult.error("Broker发布消息异常:"+ex.getMessage(),result); - } - return ajaxResult; - } - - @Operation(summary = "获取在线客户端数量") - @GetMapping("/getOnlineClientSize") - public AjaxResult getOnlineClientSize() { - AjaxResult ajaxResult; - long onlineClientSize = 0; - try{ - onlineClientSize = service.getOnlineClientSize(); - ajaxResult = AjaxResult.success(onlineClientSize); - }catch (Exception ex){ - ajaxResult = AjaxResult.error("获取在线客户端数量异常:"+ex.getMessage(),onlineClientSize); - } - return ajaxResult; - } - - @Operation(summary = "获取在线客户端ID") - @GetMapping("/getOnlineClients") - public AjaxResult getOnlineClients() { - AjaxResult ajaxResult; - List nodes = new ArrayList<>(); - try{ - nodes = service.getOnlineClients(); - ajaxResult = AjaxResult.success(nodes); - }catch (Exception ex){ - ajaxResult = AjaxResult.error("获取在线客户端ID异常:"+ex.getMessage(),nodes); - } - return ajaxResult; - } - - @Operation(summary = "主动关闭指定客户端连接") - @PostMapping("/closeClientById") - public AjaxResult closeClientById(String clientId) { - AjaxResult ajaxResult; - boolean result = false; - try{ - result = service.closeClientById(clientId); - ajaxResult = AjaxResult.success(result); - }catch (Exception ex){ - ajaxResult = AjaxResult.error("主动关闭指定客户端异常:"+ex.getMessage(),result); - } - return ajaxResult; - } -} diff --git a/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/listener/MqttConnectStatusListener.java b/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/listener/MqttConnectStatusListener.java index 951e25e..4951089 100644 --- a/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/listener/MqttConnectStatusListener.java +++ b/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/listener/MqttConnectStatusListener.java @@ -24,6 +24,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.SmartInitializingSingleton; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.stereotype.Service; import org.tio.core.ChannelContext; diff --git a/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/service/ServerService.java b/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/service/ServerService.java deleted file mode 100644 index 3b8173b..0000000 --- a/ruoyi-modules/hw-mqtt-broker/src/main/java/com/hw/mqtt/service/ServerService.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.hw.mqtt.service; - -import net.dreamlu.iot.mqtt.spring.server.MqttServerTemplate; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.nio.charset.StandardCharsets; - -/** - * - * @author WenJY - * @date 2023-03-14 12:19 - * @param null - * @return null - */ -@Service -public class ServerService { - private static final Logger logger = LoggerFactory.getLogger(ServerService.class); - @Autowired - private MqttServerTemplate server; - - public boolean publish(String body) { - boolean result = server.publishAll("/test/message", body.getBytes(StandardCharsets.UTF_8)); - logger.info("Mqtt publishAll result:{};payload:{}", result,body); - return result; - } -} diff --git a/ruoyi-modules/hw-mqtt-broker/src/main/resources/bootstrap.yml b/ruoyi-modules/hw-mqtt-broker/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..9044216 --- /dev/null +++ b/ruoyi-modules/hw-mqtt-broker/src/main/resources/bootstrap.yml @@ -0,0 +1,22 @@ +# Tomcat +server: + port: 9206 + +# Spring +spring: + application: + # ???? + name: hw-mqtt-broker + profiles: + # ???? + active: dev + cloud: + nacos: + config: + # ?????? + server-addr: huawei-nacos:8848 + # ?????? + file-extension: yml + # ???? + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}