jiaosong
2023-10-11 65ad99e0a5e47c2cfcfd9ceade7dc6f2b83bcbd2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package com.doumee.core.mqtt.service;
 
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
/**
 * @author T14
 */
@Service
public class MqttPushCallback implements MqttCallback {
        @Autowired
        private DeviceSubcribeService deviceSubcribeService;
        //接收消息回调
        @Override
        public void connectionLost(Throwable cause) {
 
            // 连接丢失后,一般在这里面进行重连
//            System.out.println("连接断开,可以做重连");
        }
 
        @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);
            System.out.println("接收消息Qos : " + message.getQos());
            System.out.println("接收消息内容 : " + new String(message.getPayload()));
            deviceSubcribeService.listener(new String(message.getPayload()),topic);
        }
}