jiangping
2023-10-12 b1c1c20ef382dd2be0f6bdf81f5d2913e749faef
server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
@@ -1,28 +1,41 @@
package com.doumee.core.mqtt.service;
import com.doumee.core.mqtt.config.MqttClientInit;
import com.doumee.core.mqtt.config.MqttConfig;
import com.doumee.service.business.DeviceService;
import com.doumee.service.business.DeviceSubcribeService;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
 * @author T14
 */
@Service
public class MqttPushCallback implements MqttCallback {
        @Autowired
        private DeviceSubcribeService deviceSubcribeService;
        @Autowired
        private MqttConfig mqttConfig;
        //接收消息回调
        @Override
        public void connectionLost(Throwable cause) {
            // 连接丢失后,一般在这里面进行重连
            System.out.println("连接断开,可以做重连");
            System.out.println("连接断开,重连中");
            try {
                MqttClientInit.refreshClient();
            } catch (MqttException e) {
                throw new RuntimeException(e);
            }
        }
        @Override
        public void deliveryComplete(IMqttDeliveryToken token) {
            System.out.println("deliveryComplete---------" + token.isComplete());
        }
        @Override
        public void messageArrived(String topic, MqttMessage message) throws Exception {
            // subscribe后得到的消息会执行到这里面
            System.out.println("接收消息主题 : " + topic);