MrShi
4 天以前 4fabfe4dbd2eb28d07a4350597d314958cc1c281
server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
@@ -1,5 +1,6 @@
package com.doumee.core.mqtt.service;
import com.doumee.config.SpringContextUtil;
import com.doumee.core.mqtt.config.MqttClientInit;
import com.doumee.core.mqtt.config.MqttConfig;
import com.doumee.service.business.DeviceService;
@@ -18,15 +19,13 @@
        @Autowired
        private MqttConfig mqttConfig;
        //接收消息回调
        @Override
    @Override
        public void connectionLost(Throwable cause) {
            try {
                MqttClientInit.refreshClient();
            } catch (MqttException e) {
                throw new RuntimeException(e);
            }
            // 连接丢失后,一般在这里面进行重连
            System.out.println("连接断开,可以做重连");
            System.out.println("连接断开,重连中");
            MqttClientInit.isNeedReSub =true;
            MqttClientInit.refreshClient();
        }
        @Override
@@ -37,9 +36,13 @@
        @Override
        public void messageArrived(String topic, MqttMessage message) throws Exception {
            // subscribe后得到的消息会执行到这里面
            System.out.println("接收消息主题 : " + topic);
            System.out.println("接收消息Qos : " + message.getQos());
            System.out.println("接收消息内容 : " + new String(message.getPayload()));
            deviceSubcribeService.listener(new String(message.getPayload()),topic);
            try {
                System.out.println("接收消息主题 : " + topic);
                System.out.println("接收消息Qos : " + message.getQos());
                System.out.println("接收消息内容 : " + new String(message.getPayload()));
                deviceSubcribeService.listener(message.getId()+"",new String(message.getPayload()),topic);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
}