| | |
| | | package com.ruoyi.utils.mqtt; |
| | | |
| | | import com.ruoyi.alarm.global.service.impl.GlobalAlarmServiceImpl; |
| | | import com.ruoyi.alarm.radar.service.ArdRadarService; |
| | | import com.ruoyi.common.utils.spring.SpringUtils; |
| | | import com.ruoyi.statistical.service.StatisticalService; |
| | | import com.ruoyi.storage.minio.service.IStorageMinioEventService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.eclipse.paho.client.mqttv3.*; |
| | |
| | | */ |
| | | @Override |
| | | public void connectionLost(Throwable cause) { |
| | | log.info("MQTT连接断开,发起重连......"); |
| | | // log.info("MQTT连接断开,发起重连......"); |
| | | while (!client.isConnected()) { |
| | | try { |
| | | Thread.sleep(10000); |
| | | if (null != client && !client.isConnected()) { |
| | | client.reconnect(); |
| | | log.error("尝试重新连接"); |
| | | // log.error("尝试重新连接"); |
| | | } else { |
| | | client.connect(options); |
| | | log.error("尝试建立新连接"); |
| | |
| | | } |
| | | if (topic.equals("radarWellData")) |
| | | { |
| | | IStorageMinioEventService storageMinioEventService = SpringUtils.getBean(IStorageMinioEventService.class); |
| | | storageMinioEventService.parseStorageMinioEvent(new String(message.getPayload(), StandardCharsets.UTF_8)); |
| | | // System.out.println(new String(message.getPayload(), StandardCharsets.UTF_8)); |
| | | StatisticalService statisticalService = SpringUtils.getBean(StatisticalService.class); |
| | | statisticalService.data(new String(message.getPayload(), StandardCharsets.UTF_8)); |
| | | } |
| | | //接收雷达强制引导数据 |
| | | if (topic.equals("radarForceGuide")) |
| | | { |
| | | ArdRadarService ardRadarService = SpringUtils.getBean(ArdRadarService.class); |
| | | ardRadarService.forceGuide(new String(message.getPayload(), StandardCharsets.UTF_8)); |
| | | } |
| | | //接收雷达引导追踪数据 |
| | | if (topic.equals("radarFollowGuide")) |
| | | { |
| | | ArdRadarService ardRadarService = SpringUtils.getBean(ArdRadarService.class); |
| | | ardRadarService.followGuide(new String(message.getPayload(), StandardCharsets.UTF_8)); |
| | | } |
| | | } catch (Exception e) { |
| | | log.debug("处理mqtt消息异常:" + e); |
| | |
| | | if (null != topic && null != qos) { |
| | | if (client.isConnected()) { |
| | | client.subscribe(topic, qos); |
| | | log.info("mqtt连接成功" ); |
| | | log.info("--订阅主题::" + Arrays.toString(topic)); |
| | | // log.info("mqtt连接成功" ); |
| | | // log.info("订阅主题:" + Arrays.toString(topic)); |
| | | } else { |
| | | log.info("mqtt连接失败"); |
| | | } |