src/main/java/com/zy/asrs/task/TestScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/WcsDispatcher.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/task/TestScheduler.java
@@ -1,22 +1,35 @@ package com.zy.asrs.task; import com.core.common.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Date; /** * Created by vincent on 2020/6/30 */ @Component //@Component public class TestScheduler { private static final Logger logger = LoggerFactory.getLogger(TestScheduler.class); @Scheduled(cron = "0/3 * * * * ? ") public void test(){ // logger.info("====="); @Async public void test() throws InterruptedException { while (true) { //模拟耗时任务,阻塞10s Thread.sleep(10000); break; } } @Scheduled(cron = "0/3 * * * * ? ") @Async public void test1() throws InterruptedException { System.out.println(DateUtils.convert(new Date())); } } src/main/java/com/zy/asrs/task/WcsDispatcher.java
New file @@ -0,0 +1,46 @@ package com.zy.asrs.task; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; /** * 任务中心调度器 * Created by vincent on 2020/7/4 */ @Component public class WcsDispatcher { private static Logger log = LoggerFactory.getLogger(WcsDispatcher.class); private Thread thread; @PostConstruct private void start(){ thread = new Thread(() -> { while (!Thread.currentThread().isInterrupted()) { try { Thread.sleep(3000); } catch (Exception e) { log.error("Exception", e); } } }); thread.start(); log.info("任务中心调度器已启动......"); } @PreDestroy public void shutDown(){ if (thread != null) thread.interrupt(); log.info("任务中心调度器已停止......"); } }