refactor(mqtt): 优化MQTT消息处理机制并修复空指针异常
- 修复EventServiceImpl中SagSource为空时的空指针异常 - 在HeartbeatServiceImpl中统一心跳超时级别命名规范 - 将Redis操作合并为原子方法减少网络调用次数 - 新增MQTT消息异步处理线程池避免Paho回调阻塞 - 将MQTT消息处理逻辑重构为异步提交模式提升性能 - 为Cloud事件添加数据报文日志便于调试追踪 - 优化心跳消息处理确保关键操作同步执行
This commit is contained in:
@@ -312,7 +312,9 @@ public class EventServiceImpl implements IEventService {
|
||||
rmpEventDetailPo.setDealFlag(0);
|
||||
rmpEventDetailPo.setFileFlag(0);
|
||||
rmpEventDetailPo.setPhase(item.getPhase());
|
||||
rmpEventDetailPo.setSagsource(getSagSource(item.getSagSource()));
|
||||
if (!Objects.isNull(item.getSagSource())) {
|
||||
rmpEventDetailPo.setSagsource(getSagSource(item.getSagSource()));
|
||||
}
|
||||
rmpEventDetailPo.setSeverity(item.getSeverity());
|
||||
wlRmpEventDetailMapper.insert(rmpEventDetailPo);
|
||||
}
|
||||
@@ -427,6 +429,7 @@ public class EventServiceImpl implements IEventService {
|
||||
|
||||
@Override
|
||||
public void getCldEventData(CldLogMessage cldLogMessage) {
|
||||
log.info("数据报文=====:" + cldLogMessage);
|
||||
CsEventPO po = new CsEventPO();
|
||||
po.setStartTime(LocalDateTime.parse(cldLogMessage.getTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||
po.setTag(cldLogMessage.getLog());
|
||||
@@ -437,7 +440,7 @@ public class EventServiceImpl implements IEventService {
|
||||
//前置告警
|
||||
if (Objects.equals(cldLogMessage.getLevel(),"process")) {
|
||||
//这边将前置服务器id当作设备id
|
||||
po.setDeviceId(cldLogMessage.getNodeId());
|
||||
po.setDeviceId(cldLogMessage.getNodeId());
|
||||
po.setClDid(Integer.valueOf(cldLogMessage.getProcessNo()));
|
||||
po.setType(4);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user