| | |
| | | |
| | | import com.fengdu.gas.common.enums.ELogger; |
| | | import com.fengdu.gas.common.util.LoggerUtil; |
| | | import com.fengdu.gas.common.util.SpringUtil; |
| | | import com.fengdu.gas.common.util.ThreadPoolUtil; |
| | | import com.fengdu.gas.service.DataUploadRecordService; |
| | | import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; |
| | | import org.eclipse.paho.client.mqttv3.MqttCallback; |
| | | import org.eclipse.paho.client.mqttv3.MqttMessage; |
| | | import org.slf4j.Logger; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.Objects; |
| | | |
| | | ; |
| | | |
| | |
| | | public class PushCallback implements MqttCallback { |
| | | private static final Logger LOGGER_DEBUG = LoggerUtil.get(ELogger.DEBUG); |
| | | private static final Logger LOGGER_ERROR = LoggerUtil.get(ELogger.SYS_ERROR); |
| | | |
| | | @Autowired |
| | | DataUploadRecordService dataUploadService; |
| | | private MQTTSubsribe mqttSubsribe; |
| | | |
| | | public PushCallback(MQTTSubsribe mqttSubsribe) { |
| | |
| | | //这里可以针对收到的消息做处理 |
| | | ThreadPoolUtil.getDefaultPool().execute(() -> { |
| | | try { |
| | | //调用方法 |
| | | //dataUploadYwjRecordService.mqttReceived(topic, msg); |
| | | if (Objects.nonNull(dataUploadService)) { |
| | | //调用方法 |
| | | dataUploadService.mqttReceived(topic, msg); |
| | | } else { |
| | | try { |
| | | System.out.println("dataUploadService bean尚未初始化..."); |
| | | dataUploadService = SpringUtil.getBean(DataUploadRecordService.class); |
| | | System.out.println("dataUploadService 初始化bean成功!"); |
| | | } catch (Exception ignored) {} |
| | | if (Objects.nonNull(dataUploadService)) { |
| | | //调用方法 |
| | | dataUploadService.mqttReceived(topic, msg); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | LOGGER_ERROR.error("messageArrived", e); |
| | | } |