From 157c26f5188c7ed62a4547f7e3b5a5a3e3ed7729 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期日, 08 十月 2023 09:40:47 +0800 Subject: [PATCH] 优化mqtt生产者取消消费者订阅 --- src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java | 28 ++++++++++++++++------------ 1 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java b/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java index 1cc832e..2714637 100644 --- a/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java +++ b/src/main/java/com/ard/alarm/stealelec/service/StealElecAlarmService.java @@ -3,14 +3,14 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.ard.alarm.stealelec.domain.ArdAlarmStealelec; -import com.ard.utils.mqtt.MqttConsumer; +import com.ard.utils.http.HttpUtils; +import com.ard.utils.mqtt.MqttProducer; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; -import org.springframework.web.client.RestTemplate; -import javax.annotation.Resource; + import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -24,12 +24,14 @@ */ @Slf4j(topic = "stealAlarm") @Service -public class StealElecAlarmService{ - @Resource - RestTemplate restTemplate; +public class StealElecAlarmService { + @Value("${spring.stealelec.url}") private String stealElecUrl; - List<String> tempList=new ArrayList<>(); + @Value("${spring.stealelec.enabled}") + private Boolean enabled; + List<String> tempList = new ArrayList<>(); + /** * @鎻忚堪 鑾峰彇api鏁版嵁鎺ㄩ�乵qtt * @鍙傛暟 [] @@ -39,10 +41,13 @@ * @淇敼浜哄拰鍏跺畠淇℃伅 */ @Async("alarm") - // @Scheduled(cron="0/5 * * * * ?") + @Scheduled(cron = "0/5 * * * * ?") public void alarmHandler() { try { - String allAlarmData = restTemplate.getForObject(stealElecUrl, String.class); + if (!enabled) { + return; + } + String allAlarmData = HttpUtils.sendGet(stealElecUrl); //鍓旈櫎鎵�鏈塡绗﹀彿 String message = allAlarmData.replaceAll("\\\\", ""); //鍓旈櫎鏁翠釜瀛楃涓查灏惧弻寮曞彿 @@ -60,11 +65,10 @@ String JSONStr = JSON.toJSONString(object); //杞垚瀹炰綋瀵硅薄 ArdAlarmStealelec wd = JSON.parseObject(JSONStr, ArdAlarmStealelec.class); - if(tempList.contains(wd.getId())) - { + if (tempList.contains(wd.getId())) { continue; } - MqttConsumer.publish(2,false,"stealelec", JSON.toJSONString(wd)); + MqttProducer.publish(2, false, "stealelec", JSON.toJSONString(wd)); tempList.add(wd.getId()); } } -- Gitblit v1.9.3