这几天在工做中遇到了定时工做的需求,因此查询了一下SpringBoot中是否存在定时的方法。通过查询,能够经过Timer,ScheduledExecutorService,Spring Task,Quartz(摘自:http://www.wanqhblog.top/2018/02/01/SpringBootTaskSchedule/)。java
我本身试了一下@Scheduled,代码以下:code
//cron参数的使用 秒 分 时 天 月 星期 年 @Scheduled(cron = "0/5 * * * * * *") public void scheduled(){ System.out.println("cron:NowTime:" + new Date()); } //fixedRate参数的使用:一个按必定频率执行的定时任务,我以5秒一次周期 @Scheduled(fixedRate = 5000) public void scheduled1() { System.out.println("fixedRate:NowTime:" + new Date()); } //fixedDelay参数的使用:定义一个按必定频率执行的定时任务,我以5秒一次周期 @Scheduled(fixedDelay = 5000) public void scheduled2() { System.out.println("fixedDelay:NowTime:" + new Date()); }
运行结果以下:blog
cron:NowTime:Wed Apr 24 23:32:00 CST 2019 fixedRate:NowTime:Wed Apr 24 23:32:00 CST 2019 fixedDelay:NowTime:Wed Apr 24 23:32:00 CST 2019 cron:NowTime:Wed Apr 24 23:32:05 CST 2019 fixedRate:NowTime:Wed Apr 24 23:32:05 CST 2019 fixedDelay:NowTime:Wed Apr 24 23:32:05 CST 2019 cron:NowTime:Wed Apr 24 23:32:10 CST 2019 fixedRate:NowTime:Wed Apr 24 23:32:10 CST 2019 fixedDelay:NowTime:Wed Apr 24 23:32:10 CST 2019 cron:NowTime:Wed Apr 24 23:32:15 CST 2019 fixedRate:NowTime:Wed Apr 24 23:32:15 CST 2019 fixedDelay:NowTime:Wed Apr 24 23:32:15 CST 2019 cron:NowTime:Wed Apr 24 23:32:20 CST 2019 fixedRate:NowTime:Wed Apr 24 23:32:20 CST 2019 fixedDelay:NowTime:Wed Apr 24 23:32:20 CST 2019