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