城阳做网站找哪家好,store软件下载,火车头wordpress发布,自己建网站需要什么软件Scheduled (springboot 自带的 注解)
基于注解Scheduled默认为单线程#xff0c;开启多个任务时#xff0c;任务的执行时机会受上一个任务执行时间的影响。
EnableScheduling注解#xff1a; 在配置类上使用#xff0c;开启计划任务的支持#xff08;类上#xff09;。…Scheduled (springboot 自带的 注解)
基于注解Scheduled默认为单线程开启多个任务时任务的执行时机会受上一个任务执行时间的影响。
EnableScheduling注解 在配置类上使用开启计划任务的支持类上。
Scheduled注解 来声明这是一个任务包括 cron (可通过在线生成Cron表达式的工具网址http://cron.qqe2.com/ 来生成自己想要的表达式。)fixDelayfixRate 等类型方法上需先开启计划任务的支持。
Slf4j
Configuration
public class TastOne {// 可以从IOC容器中获取到对应的ServiceAutowiredprivate TestService testService;Scheduled(cron 0/1 * * * * ?)public void out(){log.info(正在执行定时任务输出方法..............);}
}开启多线程 private final int corePoolSize Runtime.getRuntime().availableProcessors();
/*** 此处方法名为Bean的名字方法名无需固定* 因为是按TaskScheduler接口自动注入*/
Bean
public TaskScheduler taskScheduler(){// Spring提供的定时任务线程池类ThreadPoolTaskScheduler taskSchedulernew ThreadPoolTaskScheduler();//设定最大可用的线程数目taskScheduler.setPoolSize(corePoolSize);return taskScheduler;
}注意 禁止 启动类加EnableAsyncScheduled加Async 这么使用
原因Async的使用场景和这个不同用在这里并不合适虽然也会实现多线程但是会产生任务重复执行的问题也会使 fixedDelay策略失效。
参考 spring 注解实现定时任务详解
xxl-job框架
在实际项目中90%都是用的XXL-JOB因为它易用性最好。 xxl-job官网
待续…
定时任务放线程池 spring task实现
springboot 注解形式