|  |  |  | 
|---|
|  |  |  | 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("尝试建立新连接"); | 
|---|
|  |  |  | 
|---|
|  |  |  | IStorageMinioEventService storageMinioEventService = SpringUtils.getBean(IStorageMinioEventService.class); | 
|---|
|  |  |  | storageMinioEventService.parseStorageMinioEvent(new String(message.getPayload(), StandardCharsets.UTF_8)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (topic.equals("radarWellData")) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //                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连接成功,客户端ID:" + PropertiesUtil.MQTT_CLIENT_ID); | 
|---|
|  |  |  | log.info("--订阅主题::" + Arrays.toString(topic)); | 
|---|
|  |  |  | //                    log.info("mqtt连接成功" ); | 
|---|
|  |  |  | //                    log.info("订阅主题:" + Arrays.toString(topic)); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | log.info("mqtt连接失败,客户端ID:" + PropertiesUtil.MQTT_CLIENT_ID); | 
|---|
|  |  |  | log.info("mqtt连接失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|