From b94f660139c7fbb6732128d8ae55d91e1fa70726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E6=A2=A6?= <1101766085@qq.com> Date: Thu, 6 Jun 2024 17:27:30 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20mica-mqtt-client=20=E9=87=8D?= =?UTF-8?q?=E8=BF=9E=E4=B8=8D=E7=AE=A1=E6=9C=8D=E5=8A=A1=E7=AB=AF=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=AD=98=E5=9C=A8=20session=20=E9=83=BD=E5=8F=91?= =?UTF-8?q?=E9=80=81=E8=AE=A2=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/client/DefaultMqttClientProcessor.java | 6 ++---- .../dreamlu/iot/mqtt/core/client/MqttClient.java | 15 --------------- 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/mica-mqtt-client/src/main/java/net/dreamlu/iot/mqtt/core/client/DefaultMqttClientProcessor.java b/mica-mqtt-client/src/main/java/net/dreamlu/iot/mqtt/core/client/DefaultMqttClientProcessor.java index 7504185f..776f0983 100644 --- a/mica-mqtt-client/src/main/java/net/dreamlu/iot/mqtt/core/client/DefaultMqttClientProcessor.java +++ b/mica-mqtt-client/src/main/java/net/dreamlu/iot/mqtt/core/client/DefaultMqttClientProcessor.java @@ -78,10 +78,8 @@ public void processConAck(ChannelContext context, MqttConnAckMessage message) { } // 2. 发布连接通知 publishConnectEvent(context); - // 3. 如果 session 不存在重连时发送重新订阅,更改 ip、端口之后需要重新发送订阅 - if (!connAckVariableHeader.isSessionPresent() || MqttClient.isNeedReSub(context)) { - reSendSubscription(context); - } + // 3. 发送订阅,不管服务端是否存在 session 都发送 + reSendSubscription(context); break; case CONNECTION_REFUSED_BAD_USER_NAME_OR_PASSWORD: case CONNECTION_REFUSED_IDENTIFIER_REJECTED: diff --git a/mica-mqtt-client/src/main/java/net/dreamlu/iot/mqtt/core/client/MqttClient.java b/mica-mqtt-client/src/main/java/net/dreamlu/iot/mqtt/core/client/MqttClient.java index d8dc0b4b..14aca1c0 100644 --- a/mica-mqtt-client/src/main/java/net/dreamlu/iot/mqtt/core/client/MqttClient.java +++ b/mica-mqtt-client/src/main/java/net/dreamlu/iot/mqtt/core/client/MqttClient.java @@ -45,10 +45,6 @@ */ public final class MqttClient { private static final Logger logger = LoggerFactory.getLogger(MqttClient.class); - /** - * 是否需要重新订阅 - */ - private static final String MQTT_NEED_RE_SUB = "MQTT_NEED_RE_SUB"; private final TioClient tioClient; private final MqttClientCreator config; private final TioClientConfig clientTioConfig; @@ -517,7 +513,6 @@ public boolean reconnect(Node serverNode) { } try { this.context = tioClient.connect(serverNode, config.getTimeout()); - this.context.set(MQTT_NEED_RE_SUB, (byte) 1); return true; } catch (Exception e) { logger.error("mqtt client reconnect error", e); @@ -525,16 +520,6 @@ public boolean reconnect(Node serverNode) { return false; } - /** - * 是否需要重新订阅 - * - * @param context ChannelContext - * @return 是否需要重新订阅 - */ - public static boolean isNeedReSub(ChannelContext context) { - return context.getAndRemove(MQTT_NEED_RE_SUB) != null; - } - /** * 断开 mqtt 连接 *