From 8738b7aa54ebd8837e135bab88ea031b6ed788b0 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 11 十月 2023 17:03:43 +0800 Subject: [PATCH] 接口整理 --- server/services/src/main/java/com/doumee/core/mqtt/config/MqttClientInit.java | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) 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 06cf76f..8085cba 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 @@ -5,14 +5,9 @@ import org.eclipse.paho.client.mqttv3.MqttConnectOptions; import org.eclipse.paho.client.mqttv3.MqttTopic; import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; -import org.springframework.stereotype.Component; public class MqttClientInit { static MqttClient client; - private String userName = "doumee"; - private String passWord = "doumee@168"; public static synchronized MqttClient getInstance(MqttConfig config,MqttPushCallback callBack){ if(client !=null){ @@ -41,7 +36,38 @@ //閬楀槺 options.setWill(topic, "close".getBytes(), 1, true); client.connect(options); - + } catch (Exception e) { + e.printStackTrace(); + } + return client; + } + public static synchronized MqttClient refreshClient(MqttConfig config,MqttPushCallback callBack){ + if(client !=null){ + return client; + } + 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(); } -- Gitblit v1.9.3