摘要:項目中經(jīng)常要用到定時任務(wù),比如發(fā)郵件短信清理緩存等等創(chuàng)建定時任務(wù)非常簡單,只需要幾個注解就可以。會等帶上個任務(wù)執(zhí)行完畢才執(zhí)行,第一次延遲秒后執(zhí)行,之后按的規(guī)則每秒執(zhí)行一次通過表達(dá)式定義規(guī)則詳細(xì)請看官方文檔
項目中經(jīng)常要用到定時任務(wù),比如發(fā)郵件短信、清理緩存等等
spingboot 創(chuàng)建定時任務(wù)非常簡單,只需要幾個注解就可以。
下面我給一個定時清理緩存的任務(wù),測試程序緩存功能的時候經(jīng)常要用到。
1、啟動定時任務(wù)配置
只需要在 Application上加上 @EnableScheduling 注解, @EnableCaching是啟動緩存配置的
2、創(chuàng)建需要定時執(zhí)行的方法
在方法上加上注解 @Scheduled(fixedRate=10000) ,下圖是一個定時清理緩存的方法
每10s執(zhí)行一次:
執(zhí)行結(jié)果:
參加spring官方案例: https://spring.io/guides/gs/s...
3、@Scheduled注解參數(shù):
@Scheduled(fixedRate = 5000) :上一次開始執(zhí)行時間點(diǎn)之后5秒再執(zhí)行
@Scheduled(fixedDelay = 5000) :上一次執(zhí)行完畢時間點(diǎn)之后5秒再執(zhí)行
*這個與fixedRate區(qū)別在于,可以保證任務(wù)不會重疊執(zhí)行,* *fixedRate=5000表示每5s中啟動任務(wù),如果任務(wù)執(zhí)行時間超過了5s中那么就會有多個任務(wù)同時執(zhí)行。* *fixedDelay=5000s會等帶上個任務(wù)執(zhí)行完畢才執(zhí)行,*
@Scheduled(initialDelay=1000, fixedRate=5000)
:第一次延遲1秒后執(zhí)行,之后按fixedRate的規(guī)則每5秒執(zhí)行一次
@Scheduled(cron="*/5 * * * * *") :通過cron表達(dá)式定義規(guī)則
詳細(xì)請看官方文檔:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73771.html
摘要:對于定時任務(wù)類如果不定義線程池,控制臺輸出如下,可以看到不同的定時任務(wù)是同一個線程在執(zhí)行在配置類或者啟動類中增加定時任務(wù)的線程池控制臺輸出本節(jié)示例代碼已上傳到 一.SpringBoot中開啟定時任務(wù) 在spirngboot中使用定時任務(wù)非常簡單,只需要在啟動類上增加一個@EnableScheduling注解即可。 @SpringBootApplication @EnableSchedu...
摘要:多線程并發(fā)定時任務(wù)剛剛看了下實(shí)現(xiàn)定時任務(wù)的文章,感覺還不錯。存在問題但是后來發(fā)現(xiàn)個問題,通過同時測試幾個任務(wù)發(fā)現(xiàn),所有的任務(wù)都是在同一個線程池中的同一個線程來完成的。 spring-boot | 多線程并發(fā)定時任務(wù) 剛剛看了下Spring Boot實(shí)現(xiàn)定時任務(wù)的文章,感覺還不錯。Spring Boot 使用Spring自帶的Schedule來實(shí)現(xiàn)定時任務(wù)變得非常簡單和方便。在這里個大家...
摘要:前言用組件實(shí)現(xiàn)簡易的定時任務(wù)功能。步驟創(chuàng)建一個啟動類注意,是關(guān)鍵,加了這個注解才能啟動定時任務(wù)。編寫定時任務(wù)方法可以實(shí)現(xiàn)兩種定時,一種是每個一段時間執(zhí)行一次方法,另一種是執(zhí)行一次方法之后間隔若干時間后再執(zhí)行下一次。 前言 用Spring-Context組件實(shí)現(xiàn)簡易的定時任務(wù)功能。只可以支持較簡單的業(yè)務(wù)場景,實(shí)用價值不高。如果想要投放到生產(chǎn)環(huán)境,需要進(jìn)行一些改造。 步驟 1. pom.x...
本文將告訴你如何使用spring的任務(wù)調(diào)度。主要使用@Scheduled注解 需要會使用maven 第一步 pom.xml配置 4.0.0 org.xxz scheduled-task-test 1.0 org.springframework.boot spring-boot-starter-parent ...
摘要:由于工作上的原因,需要進(jìn)行定時任務(wù)的動態(tài)增刪改查,網(wǎng)上大部分資料都是整合框架實(shí)現(xiàn)的。本人查閱了一些資料,發(fā)現(xiàn)本身就支持實(shí)現(xiàn)定時任務(wù)的動態(tài)控制。 由于工作上的原因,需要進(jìn)行定時任務(wù)的動態(tài)增刪改查,網(wǎng)上大部分資料都是整合quertz框架實(shí)現(xiàn)的。本人查閱了一些資料,發(fā)現(xiàn)springBoot本身就支持實(shí)現(xiàn)定時任務(wù)的動態(tài)控制。并進(jìn)行改進(jìn),現(xiàn)支持任意多參數(shù)定時任務(wù)配置 實(shí)現(xiàn)結(jié)果如下圖所示: sho...
閱讀 3170·2021-09-28 09:42
閱讀 3493·2021-09-22 15:21
閱讀 1166·2021-07-29 13:50
閱讀 3650·2019-08-30 15:56
閱讀 3397·2019-08-30 15:54
閱讀 1225·2019-08-30 13:12
閱讀 1208·2019-08-29 17:03
閱讀 1232·2019-08-29 10:59