From 5ae90db43abf20e350cac443a98675ff33098b43 Mon Sep 17 00:00:00 2001 From: LSF <695944503@qq.com> Date: Tue, 5 Nov 2024 15:23:40 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E8=AE=A2=E9=98=85=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E6=94=B9=E4=B8=BA=E5=85=B1=E4=BA=AB=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=EF=BC=8C=E5=B1=9E=E4=BA=8E=E5=90=8C=E4=B8=80?= =?UTF-8?q?=E7=BB=84=E7=9A=84=E8=AE=A2=E9=98=85=E8=80=85=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=B4=9F=E8=BD=BD=E5=9D=87=E8=A1=A1=E6=8E=A5?= =?UTF-8?q?=E6=94=B6=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../net/maku/iot/communication/mqtt/config/MqttConfig.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/maku-cloud-module/maku-module-iot/src/main/java/net/maku/iot/communication/mqtt/config/MqttConfig.java b/maku-cloud-module/maku-module-iot/src/main/java/net/maku/iot/communication/mqtt/config/MqttConfig.java index fea1398..37e7e28 100644 --- a/maku-cloud-module/maku-module-iot/src/main/java/net/maku/iot/communication/mqtt/config/MqttConfig.java +++ b/maku-cloud-module/maku-module-iot/src/main/java/net/maku/iot/communication/mqtt/config/MqttConfig.java @@ -1,5 +1,6 @@ package net.maku.iot.communication.mqtt.config; +import cn.hutool.core.util.RandomUtil; import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import lombok.Data; @@ -56,6 +57,7 @@ public class MqttConfig { @PostConstruct public void init() { + clientId = "clientId_"+ RandomUtil.randomInt(1, 1000); log.info("MQTT 主机: {} 客户端ID: {} 默认主题:{}", this.host, this.clientId, this.defaultTopic); } @@ -122,10 +124,13 @@ public class MqttConfig { */ @Bean public MqttPahoMessageDrivenChannelAdapter mqttInboundAdapter() { + // 群组共享订阅:$share/{group}/{topic} + // 不带群组的共享订阅:$queue/{topic} + String sharedTopic = "$queue/"+ DeviceTopicEnum.COMMAND_RESPONSE.getWildcard(); final MqttPahoMessageDrivenChannelAdapter adapter = new MqttPahoMessageDrivenChannelAdapter( clientId + "_sub", mqttClientFactory(), DeviceTopicEnum.PROPERTY.getWildcard(), - DeviceTopicEnum.COMMAND_RESPONSE.getWildcard() + sharedTopic ); adapter.setCompletionTimeout(15000); adapter.setConverter(new DefaultPahoMessageConverter()); -- Gitee