這幾天在工做中遇到了定時工做的需求,因此查詢了一下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