@rxq
定时任务的应用场景—什么时间去执行什么任务
1、月底移动扣话费
2、会员到期
3、生日祝福
4、自动发邮件
......
关于定时任务的框架有:
1、Quartz
2、SpringTask
......
SpringTask定时任务
采用SpringBoot整合SpringTask
1.1. 注解
采用SpringBoot整合SpringTask不需要额外导包
@EnableScheduling:开启对定时任务的支持
@Scheduled(cron = "*/6 * * * * ?"):执行的方法上添加,标识方法何时被执行
1.2. 启动类启用定时任务调度
- 在启动类上面加上 @EnableScheduling 即可开启定时,当项目中有多个执行任务的时候,只需要开启一次
1.3.1 创建定时任务实现类
运行结果
1.4. 参数说明
-
@Scheduled(“*/6 * * * * ?”) :参数可以接受两种定时的设置,
- 一种是我们常用的cron="*/6 * * * * ?"
- 一种是 fixedRate = 6000,两种都表示每隔六秒打印一下内容。
-
@Scheduled(fixedRate = 6000) :上一次开始执行时间点之后6秒再执行
-
@Scheduled(fixedDelay = 6000) :上一次执行完毕时间点之后6秒再执行
-
@Scheduled(initialDelay=1000, fixedRate=6000) :第一次延迟1秒后执行,之后按fixedRate的规则每6秒执行一次