| | |
| | |
|
| | | import javax.annotation.Resource;
|
| | | import java.util.*;
|
| | | import java.util.concurrent.Executors;
|
| | | import java.util.concurrent.ScheduledExecutorService;
|
| | | import java.util.concurrent.TimeUnit;
|
| | | import java.util.stream.Collectors;
|
| | |
|
| | |
|
| | |
| | | ardCamerasService.resetCameraLoginId();
|
| | | List<ArdCameras> ardCameras = ardCamerasService.selectArdCamerasListNoDataScope(new ArdCameras());
|
| | | ardCameras.stream().forEach(ardCamera -> asyncLogin(ardCamera));
|
| | | //开启登录失败相机重连定时任务
|
| | | ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
|
| | | executor.scheduleAtFixedRate(new Runnable() {
|
| | | @Override
|
| | | public void run() {
|
| | | try {
|
| | | log.info("开始执行登录失败相机重连定时任务");
|
| | | List<Object> ardCameras = redisCache.getListKey(CacheConstants.CAMERA_LIST_KEY);
|
| | | ardCameras.stream()
|
| | | .map(object -> (ArdCameras) object) // 将Object转换为ArdCameras
|
| | | .filter(camera -> !GlobalVariable.loginMap.containsKey(camera.getId()))
|
| | | .forEach(camera -> asyncLogin(camera));
|
| | | } catch (Exception ex) {
|
| | | log.error("重连相机异常:" + ex.getMessage());
|
| | | }
|
| | | }
|
| | | }, 30, 30, TimeUnit.SECONDS); // 任务延迟
|
| | | } catch (Exception ex) {
|
| | | log.error("初始化登录相机异常:" + ex.getMessage());
|
| | | }
|