From 00dd09801c8584af49d7d6bdbbc76f57e729cb75 Mon Sep 17 00:00:00 2001 From: beeajax <1105173470@qq.com> Date: Fri, 21 Jul 2023 23:14:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=90=AF=E7=BB=88=E7=AB=AF=E7=BD=AE?= =?UTF-8?q?=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/docus/server/AppRunBootstrap.java | 2 ++ .../server/common/TerminatorListener.java | 31 +++++++++++++++++++ .../server/service/ISchTerminatorService.java | 7 +++++ .../impl/SchTerminatorServiceImpl.java | 11 +++++++ 4 files changed, 51 insertions(+) create mode 100644 collector-scheduling-management/src/main/java/com/docus/server/common/TerminatorListener.java diff --git a/collector-scheduling-management/src/main/java/com/docus/server/AppRunBootstrap.java b/collector-scheduling-management/src/main/java/com/docus/server/AppRunBootstrap.java index 56e96f3..1f665fd 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/AppRunBootstrap.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/AppRunBootstrap.java @@ -5,6 +5,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.scheduling.annotation.EnableAsync; +import javax.annotation.PreDestroy; + @EnableAsync @EnableFeignClients(basePackages = {"com.docus.core.excel.feign", "com.docus.server.api.taskdistribute"}) @SpringBootApplication(scanBasePackages = {"com.docus"}) diff --git a/collector-scheduling-management/src/main/java/com/docus/server/common/TerminatorListener.java b/collector-scheduling-management/src/main/java/com/docus/server/common/TerminatorListener.java new file mode 100644 index 0000000..14dda2f --- /dev/null +++ b/collector-scheduling-management/src/main/java/com/docus/server/common/TerminatorListener.java @@ -0,0 +1,31 @@ +package com.docus.server.common; + +import com.docus.server.entity.scheduling.management.SchTerminator; +import com.docus.server.enums.BusyStateEnum; +import com.docus.server.enums.OnlineStateEnum; +import com.docus.server.service.ISchTerminatorService; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextRefreshedEvent; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 重启置空 + */ +@Component +public class TerminatorListener implements ApplicationListener { + @Resource + private ISchTerminatorService iSchTerminatorService; + + @Override + public void onApplicationEvent(ContextRefreshedEvent event) { + List terminators = iSchTerminatorService.findAll(); + terminators.forEach(p -> { + p.setBusyState(BusyStateEnum.IDLE); + p.setOnlineState(OnlineStateEnum.OFFLINE); + }); + iSchTerminatorService.batchUpdate(terminators); + } +} diff --git a/collector-scheduling-management/src/main/java/com/docus/server/service/ISchTerminatorService.java b/collector-scheduling-management/src/main/java/com/docus/server/service/ISchTerminatorService.java index dc135ed..af4064f 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/service/ISchTerminatorService.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/service/ISchTerminatorService.java @@ -6,8 +6,11 @@ import com.docus.server.dto.scheduling.management.schterminator.AddSchTerminator import com.docus.server.dto.scheduling.management.schterminator.DeleteSchTerminatorDTO; import com.docus.server.dto.scheduling.management.schterminator.EditSchTerminatorDTO; import com.docus.server.dto.scheduling.management.schterminator.NettyTerminatorDTO; +import com.docus.server.entity.scheduling.management.SchTerminator; import com.docus.server.vo.scheduling.management.schterminator.SchTerminatorVO; +import java.util.List; + /** * 执行管理器 服务接口 * @@ -62,4 +65,8 @@ public interface ISchTerminatorService { * @return */ SchTerminatorVO saveOrUpdate(String terminatorIp, NettyTerminatorDTO nettyTerminatorDTO); + + List findAll(); + + void batchUpdate(List terminators); } diff --git a/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchTerminatorServiceImpl.java b/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchTerminatorServiceImpl.java index 130fcb1..4421e83 100644 --- a/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchTerminatorServiceImpl.java +++ b/collector-scheduling-management/src/main/java/com/docus/server/service/impl/SchTerminatorServiceImpl.java @@ -18,6 +18,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; +import java.util.List; /** * 执行管理器 服务实现类 @@ -85,6 +86,16 @@ public class SchTerminatorServiceImpl implements ISchTerminatorService { } + @Override + public List findAll() { + return iSchTerminatorDao.findAll(); + } + + @Override + public void batchUpdate(List terminators) { + iSchTerminatorDao.updateBatchById(terminators, 20); + } + /** * 新增 *