日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring內置定時任務調度@Scheduled使用詳解

瀏覽:162日期:2023-07-29 15:56:59

Spring提供了@Scheduled注解用于定時任務。

一、@Scheduled的基本使用

啟用調度支持:@EnableScheduling

可以將@Scheduled注釋與觸發器元數據一起添加到方法中。例如,以下方法每隔5秒調用一次,并具有固定的延遲,這意味著周期是從前面每次調用的完成時間開始計算的

@Scheduled(fixedDelay=5000)public void doSomething() {// something that should execute periodically}

如果需要固定速率執行,可以更改批注中指定的屬性名。以下方法每5秒調用一次(在每次調用的連續開始時間之間計算)

@Scheduled(fixedRate=5000)public void doSomething() {// something that should execute periodically}

對于固定延遲和固定速率任務,可以通過指示在首次執行方法之前要等待的毫秒數來指定初始延遲

@Scheduled(initialDelay=1000, fixedRate=5000)public void doSomething() {// something that should execute periodically}

如果簡單的周期性調度不夠表達,可以提供cron表達式。例如,以下命令僅在工作日執行:

@Scheduled(cron='*/5 * * * * MON-FRI')public void doSomething() {// something that should execute on weekdays only}

實現SchedulingConfigurer接口,重寫configureTasks方法:

@Schedule注解的一個缺點就是其定時時間不能動態更改,它適用于具有固定任務周期的任務,若要修改任務執行周期,只能走“停服務→修改任務執行周期→重啟服務”這條路。而基于 SchedulingConfigurer 接口方式可以做到。SchedulingConfigurer 接口可以實現在@Configuration等注解類上。

ScheduledTaskRegistrar類包括以下幾個重要方法:

void addTriggerTask(Runnable task, Trigger trigger) void addTriggerTask(TriggerTask task)void addCronTask(Runnable task, String expression)void addCronTask(CronTask task)void addFixedRateTask(Runnable task, long interval)void addFixedRateTask(IntervalTask task)void addFixedDelayTask(Runnable task, long delay)void addFixedDelayTask(IntervalTask task)

具體實現參考如下:

@Componentpublic class TestTask implements SchedulingConfigurer { @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.addTriggerTask(new Runnable() { @Override public void run() {// 定時任務要執行的內容System.out.println('【開始執行定時任務。。。】'); } }, new Trigger() { @Override public Date nextExecutionTime(TriggerContext triggerContext) {// 定時任務觸發,可修改定時任務的執行周期String cron = '0 0/5 * * * ?'; //可以將表達式配置在數據庫中CronTrigger trigger = new CronTrigger(cron);Date nextExecDate = trigger.nextExecutionTime(triggerContext);return nextExecDate; } }); }}

提示:如果在數據庫修改時格式出現錯誤,則定時任務會停止,即使重新修改正確;此時只能重新啟動項目才能恢復。

二、使用@Scheduled注意事項

spring的注解@Scheduled 需要寫在實現方法上; 定時器的任務方法不能有返回值(如果有返回值,spring初始化的時候會告訴你有個錯誤、需要設定一個proxytargetclass的某個值為true),不能指向任何的參數; 如果該方法需要與應用程序上下文的其他對象進行交互,通常是通過依賴注入來實現; 實現類上要有組件的注解@Component。

三、使用@Scheduled常見問題

單線程任務丟失,轉為異步線程池

默認的 ConcurrentTaskScheduler 計劃執行器采用Executors.newSingleThreadScheduledExecutor() 實現單線程的執行器。因此,對同一個調度任務的執行總是同一個線程。如果任務的執行時間超過該任務的下一次執行時間,則會出現任務丟失,跳過該段時間的任務。上述問題有以下解決辦法:

采用異步的方式執行調度任務,配置 Spring 的 @EnableAsync,在執行定時任務的方法上標注 @Async配置任務執行池,線程池大小 n 的數量為 單個任務執行所需時間 / 任務執行的間隔時間。如下:

//每30秒執行一次@Async('taskExecutor')@Scheduled(fixedRate = 1000 * 3)public void reportCurrentTime(){ System.out.println ('線程' + Thread.currentThread().getName() + '開始執行定時任務===&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&7&&&====》' + new SimpleDateFormat('yyyy-MM-dd HH:mm:ss').format(new Date())); long start = System.currentTimeMillis();}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品一级| 免费高潮视频95在线观看网站| 尤物在线精品| 在线亚洲观看| 日本va欧美va精品发布| 久久伊人国产| 午夜欧美巨大性欧美巨大| 精品在线91| 日韩亚洲精品在线观看| 国产精品久久久久久妇女| 亚洲一区资源| 夜夜嗨一区二区| 欧美视频二区| 成人日韩在线观看| 色婷婷成人网| 国产精选在线| 美国三级日本三级久久99| 久久99蜜桃| 亚洲成人免费| 国产精品久av福利在线观看| 电影天堂国产精品| 日韩精品免费观看视频| 国产999精品在线观看| 午夜日韩在线| 国产亚洲精品精品国产亚洲综合| 美女av在线免费看| 日韩中文字幕不卡| 久久精品一区二区三区中文字幕| 激情五月综合网| 国产亚洲电影| 99久久亚洲精品蜜臀| 日韩精品第二页| 91精品国产乱码久久久久久久| 日韩av不卡一区二区| 丝袜av一区| 欧美亚洲综合视频| 欧美日韩国产一区二区三区不卡 | 老司机精品久久| 久久这里只有精品一区二区| 最新日韩av| 韩日一区二区| 日韩中文一区二区| 午夜精品网站| 不卡一二三区| 久久精品 人人爱| 欧美日韩国产在线观看网站| 精品国产精品久久一区免费式| 久久性天堂网| 久久人人99| 精品视频在线一区二区在线| 综合国产视频| 久久伦理在线| 久久中文字幕导航| 日韩高清欧美激情| 99国产精品99久久久久久粉嫩| 精品久久中文| 欧美日韩午夜| 中文字幕中文字幕精品| 蜜桃成人av| 丝袜诱惑一区二区| 捆绑调教美女网站视频一区| 日韩一区免费| 国产一区白浆| 99国产精品免费视频观看| 久久99蜜桃| 国产日韩欧美在线播放不卡| 欧美专区在线| 欧美不卡视频| 四虎国产精品免费观看| 国产图片一区| 日本不卡视频在线观看| 午夜在线一区| japanese国产精品| 999国产精品视频| 亚洲播播91| 日韩免费视频| 水蜜桃精品av一区二区| 精品欧美视频| 欧美国产极品| 国产精品蜜月aⅴ在线| 97久久精品| 日韩av不卡一区二区| 亚洲深深色噜噜狠狠爱网站| 美女网站一区| 激情久久中文字幕| 99久精品视频在线观看视频| 麻豆视频在线观看免费网站黄| 久久av影院| 久久99精品久久久久久园产越南| 国产精品一区二区三区www| 青青草国产精品亚洲专区无| 日韩一区二区三区高清在线观看| 亚洲精品进入| 日本一区二区三区视频在线看| 中文字幕免费一区二区| 在线一区二区三区视频| 免费成人在线影院| 亚洲一区二区三区中文字幕在线观看| 亚洲成人三区| 久久国产99| 美美哒免费高清在线观看视频一区二区| 亚洲欧美成人综合| 中文不卡在线| 日本午夜精品久久久| 国产精品免费99久久久| 九九九精品视频| 国产中文在线播放| 999国产精品999久久久久久| 黄色国产精品| 亚洲视频二区| 国产无遮挡裸体免费久久 | 国产精品一区高清| 精品香蕉视频| 成人久久久久| 伊人久久亚洲热| 亚洲日本久久| 国产精品theporn| 91欧美在线| 久久影院一区| 蜜桃视频在线观看一区二区| 日韩精彩视频在线观看| 国产精品久av福利在线观看| caoporn视频在线| 欧美+日本+国产+在线a∨观看| 蜜桃久久av| 国产精品mm| 日韩天堂在线| 老牛影视一区二区三区| 国产免费久久| 日本美女一区| 亚洲欧美日韩综合国产aⅴ| 欧美在线91| 国产aⅴ精品一区二区三区久久| 成人日韩精品| 最新国产精品久久久| 国产精品s色| 特黄毛片在线观看| 亚洲深夜福利在线观看| 麻豆国产一区| 九一成人免费视频| 欧美日韩1区2区3区| 欧美极品一区二区三区| 人人精品亚洲| 日韩高清在线不卡| 日韩免费在线| 日本一不卡视频| 日韩在线二区| 日韩精品一二区| 国内精品麻豆美女在线播放视频| 亚洲国产专区校园欧美| 视频一区日韩精品| 日韩1区2区| 蜜臀精品一区二区三区在线观看 | 日韩成人综合| 蜜桃一区二区三区在线| 国产在线观看91一区二区三区| 亚洲黄色影院| 国产精品地址| 99国产精品久久久久久久| 久久精品超碰| 一区久久精品| 精品精品国产三级a∨在线| 99视频一区| 精品在线网站观看| 日韩精品一级中文字幕精品视频免费观看| 麻豆精品视频在线观看| 国产亚洲一区在线| 国产suv精品一区二区四区视频| 久久午夜视频| caoporn视频在线| 日韩三级精品| 成人羞羞在线观看网站| 欧美一级二级三级视频| 亚洲国产不卡| 国产一区三区在线播放| 婷婷亚洲成人| 亚洲国内精品| 精品久久电影| 欧美一区成人| 中文在线一区| 日韩久久视频| 国产精品一区二区av日韩在线| 黄色亚洲免费| 日韩天堂在线| 精品久久精品| 国产毛片精品久久| 蜜臀av在线播放一区二区三区| 久久精品电影| 国产v日韩v欧美v| 久久爱www成人| 日韩一区精品| 丝袜a∨在线一区二区三区不卡| 嫩草伊人久久精品少妇av杨幂| 亚洲乱码视频| 伊人精品在线| 亚洲韩日在线| 福利一区在线| 国产精品三级| 日韩精品视频在线看| 免费视频一区二区|