最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?@Scheduled定時任務(wù)不執(zhí)行解決辦法

 更新時間:2023年10月18日 10:52:09   作者:貓飯_ACE  
這篇文章主要給大家介紹了關(guān)于Java?@Scheduled定時任務(wù)不執(zhí)行解決的相關(guān)資料,當@Scheduled定時任務(wù)不執(zhí)行時可以根據(jù)以下步驟進行排查和解決,需要的朋友可以參考下

一、排查代碼中添加的定時任務(wù)步驟是否正確

  • 啟動類上加 @EnableScheduling 注解
  • 定時任務(wù)類上加@Component
  • 定時方法上加@Scheduled
  @Scheduled(cron = "0 19 16 * * ?")
    public void cron() {
        log.info("定時任務(wù)開啟:---");
    }

二、排查是否任務(wù)阻塞,如果定時任務(wù)出現(xiàn)異常阻塞后,將不會在次執(zhí)行

解決:進行try…catch異常拋出

三、java中多個@Scheduled定時器不執(zhí)行

原因是:@Scheduled注解會在默認情況下以單線程的方式執(zhí)行定時任務(wù)。這個“單線程”指兩個方面:

如果一個定時任務(wù)執(zhí)行時間大于其任務(wù)間隔時間,那么下一次將會等待上一次執(zhí)行結(jié)束后再繼續(xù)執(zhí)行。

如果多個定時任務(wù)在同一時刻執(zhí)行,任務(wù)會依次執(zhí)行。

為了讓@Scheduled效率更高,我們可以通過兩種方法將定時任務(wù)變成多線程執(zhí)行:

方法1、在啟動類中配置TaskScheduler線程池大小:

public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
taskScheduler.setPoolSize(10);//不配置默認是1
return taskScheduler;
}

方法2、利用Spring提供的@Async注解和@EnableAsync注解

@Component
@EnableAsync //開啟異步支持
public class TimedTask{
@Async // 對某個方法進行異步執(zhí)行
@Scheduled(initialDelay = 1,fixedDelay=10000)//initialDelay 在容器啟動后,延遲1毫秒再執(zhí)行一次定時器
public void aa() {
//執(zhí)行業(yè)務(wù)邏輯
}

@Async
@Scheduled(initialDelay = 1,fixedDelay=10000)//fixedDelay  以上一次方法執(zhí)行完開始算起,如上一次方法執(zhí)行阻塞住了,那么直到上一次執(zhí)行完,并間隔給定的時間后,執(zhí)行下一次
public void bb() {
//執(zhí)行業(yè)務(wù)邏輯
}

總結(jié) 

到此這篇關(guān)于Java @Scheduled定時任務(wù)不執(zhí)行解決辦法的文章就介紹到這了,更多相關(guān)@Scheduled定時任務(wù)不執(zhí)行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

泰和县| 威信县| 长海县| 兴业县| 静乐县| 体育| 晋城| 乌兰县| 江西省| 河源市| 会宁县| 陵川县| 仁布县| 仲巴县| 湖南省| 兴宁市| 重庆市| 得荣县| 嵊泗县| 耿马| 清徐县| 雅安市| 含山县| 灵武市| 武汉市| 同江市| 东兰县| 枣庄市| 上犹县| 德昌县| 灵寿县| 新津县| 宁蒗| 都江堰市| 汾西县| 璧山县| 扎囊县| 宁晋县| 嘉兴市| 株洲市| 全州县|