This commit is contained in:
2026-08-03 14:55:38 +08:00
parent 42eae10df6
commit 36fd688d17
2 changed files with 29 additions and 12 deletions

View File

@@ -145,9 +145,9 @@ public class InitThread implements ApplicationRunner {
throw new RuntimeException(e);
}
});
commonDeviceMonitorExecutor.execute(() -> {
commonService.commonDeviceMonitor();
});
// commonDeviceMonitorExecutor.execute(() -> {
// commonService.commonDeviceMonitor();
// });
}
/**

View File

@@ -2,11 +2,14 @@ package com.maibu.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.maibu.core.business.DevicePlanTask;
import com.maibu.core.business.IoTCommonDevice;
import com.maibu.core.business.device.NettyDevice;
import com.maibu.core.business.dto.DeviceConfigDTO;
import com.maibu.core.enums.ConnectType;
import com.maibu.mapper.IotDeviceCommonMapper;
import com.maibu.memory.GlobalMemory;
import com.maibu.memory.SiteMemory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,6 +20,10 @@ import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/**
* @author jsmbz
@@ -231,18 +238,28 @@ public class IotDeviceCommonService {
public void commonDeviceMonitor() {
//先初始化 外部设备连接
GlobalMemory.getAllSiteMemory().forEach(x -> {
List<IoTCommonDevice> list = x.getAllCommonDevice();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(y -> {
if (ConnectType.MQTT.equals(y.getConnectType())) {
String ip = y.getNetworkIp();
Integer port = y.getPort();
//prepare 进执行execute的逻辑
ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
executor.scheduleWithFixedDelay(() -> {
try {
//先初始化 外部设备连接
GlobalMemory.getAllSiteMemory().forEach(x -> {
List<IoTCommonDevice> list = x.getAllCommonDevice();
if (!CollectionUtils.isEmpty(list)) {
list.forEach(y -> {
if (ConnectType.MQTT.equals(y.getConnectType())) {
String ip = y.getNetworkIp();
Integer port = y.getPort();
}
});
}
});
} catch (Exception e) {
log.error("执行任务execute线程错误", e);
}
});
}, 0, 1000, TimeUnit.MILLISECONDS);
}
}