From fc733faa4b1ab32e5f44f7391d8113fa86ba4f48 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 11 十月 2023 18:14:18 +0800
Subject: [PATCH] 接口整理
---
server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java | 13 ++++++++-----
server/services/src/main/java/com/doumee/core/mqtt/config/MqttClientInit.java | 36 ++++++------------------------------
server/services/src/main/java/com/doumee/core/mqtt/config/MqttConfig.java | 2 ++
server/services/src/main/resources/application-dev.yml | 2 +-
server/platform/src/main/resources/application.yml | 1 +
5 files changed, 18 insertions(+), 36 deletions(-)
diff --git a/server/platform/src/main/resources/application.yml b/server/platform/src/main/resources/application.yml
index dd94396..4f60d4d 100644
--- a/server/platform/src/main/resources/application.yml
+++ b/server/platform/src/main/resources/application.yml
@@ -62,3 +62,4 @@
mqtt:
clientid: doumeetestplat
+
diff --git a/server/services/src/main/java/com/doumee/core/mqtt/config/MqttClientInit.java b/server/services/src/main/java/com/doumee/core/mqtt/config/MqttClientInit.java
index 8085cba..06884d0 100644
--- a/server/services/src/main/java/com/doumee/core/mqtt/config/MqttClientInit.java
+++ b/server/services/src/main/java/com/doumee/core/mqtt/config/MqttClientInit.java
@@ -1,8 +1,10 @@
package com.doumee.core.mqtt.config;
+import com.doumee.core.constants.Constants;
import com.doumee.core.mqtt.service.MqttPushCallback;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
+import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttTopic;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
@@ -15,7 +17,7 @@
}
try {
// host涓轰富鏈哄悕锛宑lientid鍗宠繛鎺QTT鐨勫鎴风ID锛屼竴鑸互鍞竴鏍囪瘑绗﹁〃绀猴紝MemoryPersistence璁剧疆clientid鐨勪繚瀛樺舰寮忥紝榛樿涓轰互鍐呭瓨淇濆瓨
- client = new org.eclipse.paho.client.mqttv3.MqttClient(config.getHost(), config.getClientid() ,new MemoryPersistence());
+ client = new org.eclipse.paho.client.mqttv3.MqttClient(config.getHost(), config.getClientid()+ Constants.getUUID(),new MemoryPersistence());
// MQTT鐨勮繛鎺ヨ缃�
MqttConnectOptions options = new MqttConnectOptions();
// 璁剧疆鏄惁娓呯┖session,杩欓噷濡傛灉璁剧疆涓篺alse琛ㄧず鏈嶅姟鍣ㄤ細淇濈暀瀹㈡埛绔殑杩炴帴璁板綍锛岃缃负true琛ㄧず姣忔杩炴帴鍒版湇鍔″櫒閮戒互鏂扮殑韬唤杩炴帴
@@ -41,37 +43,11 @@
}
return client;
}
- public static synchronized MqttClient refreshClient(MqttConfig config,MqttPushCallback callBack){
+ public static synchronized void refreshClient() throws MqttException {
if(client !=null){
- return client;
+ boolean result = client.isConnected();
+ client.reconnect();
}
- try {
- // host涓轰富鏈哄悕锛宑lientid鍗宠繛鎺QTT鐨勫鎴风ID锛屼竴鑸互鍞竴鏍囪瘑绗﹁〃绀猴紝MemoryPersistence璁剧疆clientid鐨勪繚瀛樺舰寮忥紝榛樿涓轰互鍐呭瓨淇濆瓨
- client = new org.eclipse.paho.client.mqttv3.MqttClient(config.getHost(), config.getClientid() ,new MemoryPersistence());
- // MQTT鐨勮繛鎺ヨ缃�
- MqttConnectOptions options = new MqttConnectOptions();
- // 璁剧疆鏄惁娓呯┖session,杩欓噷濡傛灉璁剧疆涓篺alse琛ㄧず鏈嶅姟鍣ㄤ細淇濈暀瀹㈡埛绔殑杩炴帴璁板綍锛岃缃负true琛ㄧず姣忔杩炴帴鍒版湇鍔″櫒閮戒互鏂扮殑韬唤杩炴帴
- options.setCleanSession(false);
- // 璁剧疆杩炴帴鐨勭敤鎴峰悕
- options.setUserName(config.getUsername());
- // 璁剧疆杩炴帴鐨勫瘑鐮�
- options.setPassword(config.getPassword().toCharArray());
- // 璁剧疆瓒呮椂鏃堕棿 鍗曚綅涓虹
- options.setConnectionTimeout(10);
- // 璁剧疆浼氳瘽蹇冭烦鏃堕棿 鍗曚綅涓虹 鏈嶅姟鍣ㄤ細姣忛殧1.5*20绉掔殑鏃堕棿鍚戝鎴风鍙戦�佷釜娑堟伅鍒ゆ柇瀹㈡埛绔槸鍚﹀湪绾匡紝浣嗚繖涓柟娉曞苟娌℃湁閲嶈繛鐨勬満鍒�
- options.setKeepAliveInterval(20);
- // 璁剧疆鍥炶皟
- client.setCallback(callBack);
- //璁剧疆鏂紑鍚庨噸鏂拌繛鎺�
- options.setAutomaticReconnect(true);
- MqttTopic topic = client.getTopic(config.getClientid()+"_close");
- //閬楀槺
- options.setWill(topic, "close".getBytes(), 1, true);
- client.connect(options);
- } catch (Exception e) {
- e.printStackTrace();
- }
- return client;
}
}
diff --git a/server/services/src/main/java/com/doumee/core/mqtt/config/MqttConfig.java b/server/services/src/main/java/com/doumee/core/mqtt/config/MqttConfig.java
index 2188978..439db83 100644
--- a/server/services/src/main/java/com/doumee/core/mqtt/config/MqttConfig.java
+++ b/server/services/src/main/java/com/doumee/core/mqtt/config/MqttConfig.java
@@ -1,5 +1,6 @@
package com.doumee.core.mqtt.config;
+import com.doumee.core.constants.Constants;
import lombok.Data;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
@@ -8,6 +9,7 @@
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
+import org.yaml.snakeyaml.scanner.Constant;
@Component
diff --git a/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java b/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
index e49e693..452ad7c 100644
--- a/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
+++ b/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
@@ -1,11 +1,10 @@
package com.doumee.core.mqtt.service;
+import com.doumee.core.mqtt.config.MqttClientInit;
import com.doumee.core.mqtt.config.MqttConfig;
import com.doumee.service.business.DeviceService;
import com.doumee.service.business.DeviceSubcribeService;
-import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
-import org.eclipse.paho.client.mqttv3.MqttCallback;
-import org.eclipse.paho.client.mqttv3.MqttMessage;
+import org.eclipse.paho.client.mqttv3.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -21,9 +20,13 @@
//鎺ユ敹娑堟伅鍥炶皟
@Override
public void connectionLost(Throwable cause) {
-
+ try {
+ MqttClientInit.refreshClient();
+ } catch (MqttException e) {
+ throw new RuntimeException(e);
+ }
// 杩炴帴涓㈠け鍚庯紝涓�鑸湪杩欓噷闈㈣繘琛岄噸杩�
-// System.out.println("杩炴帴鏂紑锛屽彲浠ュ仛閲嶈繛");
+ System.out.println("杩炴帴鏂紑锛屽彲浠ュ仛閲嶈繛");
}
@Override
diff --git a/server/services/src/main/resources/application-dev.yml b/server/services/src/main/resources/application-dev.yml
index a46d491..c3be70a 100644
--- a/server/services/src/main/resources/application-dev.yml
+++ b/server/services/src/main/resources/application-dev.yml
@@ -54,7 +54,7 @@
########################mqtt鐩稿叧閰嶇疆########################
mqtt:
host: tcp://175.27.187.84:1883
- username: doumee
+ username: doumee1
password: doumee@168
tencent:
--
Gitblit v1.9.3