From 50718b289ef39ef027c4959cc835679ebadd84bb Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期五, 10 十一月 2023 17:32:05 +0800 Subject: [PATCH] 车辆电磁锁订阅 --- ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java | 27 +++++++++++++++++++++++++-- 1 files changed, 25 insertions(+), 2 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java index b07a18b..3b88ad2 100644 --- a/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java +++ b/ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttOnce.java @@ -5,6 +5,8 @@ import com.ruoyi.sy.service.ArdSyCarRtuService; import com.ruoyi.system.service.ISysConfigService; import lombok.extern.slf4j.Slf4j; +import org.eclipse.paho.client.mqttv3.*; +import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; @@ -31,10 +33,31 @@ public void init() { //鑾峰彇鐢电閿佸湴鍧� String mqttUrl = sysConfigService.selectConfigByKey("ElectromagneticLockUrl"); - List<ArdSyCarRtu> rtus = ardSyCarRtuService.allCarTopic(); + List<ArdSyCarRtu> rtus = ardSyCarRtuService.allCarTopicList(); for (int i = 0; i < rtus.size(); i++) { ArdSyCarRtu rtu = rtus.get(i); - String publish = rtu.getTopicPublish(); + String carId = rtu.getCarId(); + String subscribe = rtu.getTopicSubscribe(); + try { + MqttClient client = new MqttClient(mqttUrl,carId); +// log.debug("--鍒涘缓"+carId+"鍙疯溅杈嗙數瀛愰攣mqtt瀹㈡埛绔�"); + MqttConnectOptions options = new MqttConnectOptions(); + //璁剧疆鐢ㄦ埛鍚嶅瘑鐮� + options.setUserName("admin"); + options.setPassword("xzx12345".toCharArray()); + // 璁剧疆瓒呮椂鏃堕棿 + options.setConnectionTimeout(100); + // 璁剧疆浼氳瘽蹇冭烦鏃堕棿 + options.setKeepAliveInterval(60); + // 鏄惁娓呴櫎session + options.setCleanSession(true); +// log.debug("--鐢熸垚"+carId+"鍙疯溅杈嗙數瀛愰攣mqtt閰嶇疆瀵硅薄"); + client.setCallback(new MqttOnceCallback(client,options,subscribe,2)); +// log.debug("--娣诲姞杞﹁締鐢电閿佸洖璋冨鐞嗙被"); + client.connect(options); + }catch (Exception e) { + e.printStackTrace(); + } } // MqttConsumer mqttConsumer = new MqttConsumer(); // for (int i = 0; i < topic.length; i++) { -- Gitblit v1.9.3