您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“SpringBoot任務(wù)之定時(shí)任務(wù)的知識(shí)點(diǎn)有哪些”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“SpringBoot任務(wù)之定時(shí)任務(wù)的知識(shí)點(diǎn)有哪些”這篇文章吧。
項(xiàng)目開發(fā)中經(jīng)常需要執(zhí)行一些定時(shí)任務(wù),比如需要在每天凌晨的時(shí)候, 分析一次前一天的日志信息,Spring為我們提供了異步執(zhí)行任務(wù)調(diào)度的方式,提供了 兩個(gè)接口和兩個(gè)注解,并且用corn表達(dá)式去定時(shí)。
TaskScheduler //任務(wù)調(diào)度程序 TaskExecutor //任務(wù)執(zhí)行者 @EnableScheduling //開啟定時(shí)功能的注解,放在主入口 @Scheduled //什么時(shí)候執(zhí)行 cron表達(dá)式
我們里面存在一個(gè)hello方法,他需要定時(shí)執(zhí)行,怎么處理呢?
TimerController.java
package com.tian.emaildemo.controller; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.RestController; @RestController public class TimerController { /** * 秒 分 時(shí) 日 月 周幾 * 0 * * * * 1-7 * 注意cron表達(dá)式的用法: * 這里是每2秒執(zhí)行一次 */ @Scheduled(cron = "0/2 * * * * ?") public void hello() { System.out.println("hello....."); } }
這里寫完定時(shí)任務(wù)之后,我們需要在主程序上增加@EnableScheduling
開啟定時(shí)任務(wù)功能
EmaildemoApplication.java
corn表達(dá)式在線生成器
(1)0/2 * * * * ? 表示每2秒 執(zhí)行任務(wù) (1)0 0/2 * * * ? 表示每2分鐘 執(zhí)行任務(wù) (1)0 0 2 1 * ? 表示在每月的1日的凌晨2點(diǎn)調(diào)整任務(wù) (2)0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15執(zhí)行作業(yè) (3)0 15 10 ? 6L 2002-2006 表示2002-2006年的每個(gè)月的最后一個(gè)星期五上午10:15執(zhí)行作 (4)0 0 10,14,16 * * ? 每天上午10點(diǎn),下午2點(diǎn),4點(diǎn) (5)0 0/30 9-17 * * ? 朝九晚五工作時(shí)間內(nèi)每半小時(shí) (6)0 0 12 ? * WED 表示每個(gè)星期三中午12點(diǎn) (7)0 0 12 * * ? 每天中午12點(diǎn)觸發(fā) (8)0 15 10 ? * * 每天上午10:15觸發(fā) (9)0 15 10 * * ? 每天上午10:15觸發(fā) (10)0 15 10 * * ? 每天上午10:15觸發(fā) (11)0 15 10 * * ? 2005 2005年的每天上午10:15觸發(fā) (12)0 * 14 * * ? 在每天下午2點(diǎn)到下午2:59期間的每1分鐘觸發(fā) (13)0 0/5 14 * * ? 在每天下午2點(diǎn)到下午2:55期間的每5分鐘觸發(fā) (14)0 0/5 14,18 * * ? 在每天下午2點(diǎn)到2:55期間和下午6點(diǎn)到6:55期間的每5分鐘觸發(fā) (15)0 0-5 14 * * ? 在每天下午2點(diǎn)到下午2:05期間的每1分鐘觸發(fā) (16)0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44觸發(fā) (17)0 15 10 ? * MON-FRI 周一至周五的上午10:15觸發(fā) (18)0 15 10 15 * ? 每月15日上午10:15觸發(fā) (19)0 15 10 L * ? 每月最后一日的上午10:15觸發(fā) (20)0 15 10 ? * 6L 每月的最后一個(gè)星期五上午10:15觸發(fā) (21)0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一個(gè)星期五上午10:15觸發(fā) (22)0 15 10 ? * 6#3 每月的第三個(gè)星期五上午10:15觸發(fā)
以上是“SpringBoot任務(wù)之定時(shí)任務(wù)的知識(shí)點(diǎn)有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。