定时任务测试之固定频率定时任务测试
/**
* 定时任务类
*/
@Component
public class SchedulingDemo {
/**
* 固定频率(单位:毫秒)
*/
@Scheduled(fixedRate = 5000)
public void rateJob(){
System.out.println("固定频率的任务:"+ DateTime.now());
}
}
定时任务测试之cron表达式定时任务测试
上面不管是固定频率还是固定延迟,执行规则都比较简单,假如我们有非常复杂的执行要求,就要用到cron表达式了。
cron表达式分七个域,分别为:
年:一般不指定
周:? * ,- /
月:* , - /
日:? * , - /
时:* , - /
分:* , - /
秒:* , - /
使用cron表达式指定一个,每年,每月,1到6号,每天上午9点,从3分开始,每隔5分钟的第八秒执行一次。
@Component public class SchedulingDemo { /** * 固定频率(单位:毫秒) */ /*@Scheduled(fixedRate = 5000) public void rateJob(){ System.out.println("固定频率的任务:"+ DateTime.now()); }*/ /** * Cron表达式任务(日历任务) * cron语法: 注意: SpringTask的Cron表达式必须是6个值(不能配置年) * 秒 分 时 日 月 周 (日 或 周 必须有一个是?号) */ @Scheduled(cron = "0/5 * * * * ?") public void rateJob(){ System.out.println("Cron表达式任务:"+ DateTime.now()); } }
spring:
task:
scheduling:
pool:
size: 1 #一般有几个定时任务就开启几个线程