色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Spring Boot定時任務的重寫方法

汽車玩家 ? 來源:扣丁學堂 ? 作者:扣丁學堂 ? 2020-01-20 17:38 ? 次閱讀

Spring Boot應該是目前最火的java開源框架了,它簡化了我們創建一個web服務的過程,讓我們可以在很短時間、基本零配置就可以啟動一個web服務。

定時任務在我們平常的業務開發用的非常多,Spring Boot創建一個定時任務很簡單,只需要用@Scheduled注解方法,就可以讓方法按照定義的時間進行運行。但是,Spring Boot的@Scheduled默認是單線程的,也就是如果有兩個定時任務,那第二個定時必須在第一個定時任務執行完成之后才能開始執行。當然我們可以使用@Async讓方法異步,來達到多線程的目的。但是,今天我要講的是如何重寫Spring Boot定時任務,并可支持動態調整執行時間。

1、定義我們需要定時觸發的任務方法

Spring Boot定時任務的重寫方法

實例代碼中我們定義了兩個需要進行定時觸發的任務。并且自定義注解@CronScheduled

2、自定義注解@CronScheduled

自定義注解的作用主要在于后續的邏輯可以獲取到該方法的執行周期。同時也可以定義其它的屬性,用于后續的業務邏輯處理

Spring Boot定時任務的重寫方法

3、注冊定時任務

標題我們提出了支持可動態調整執行時間。平常的定時任務中我們沒法動態調整執行時間,除非重啟應用。那我們咋這里怎么動態調整時間呢?思路是:重新注冊任務。當我們檢測到定時任務的執行時間發生變化,我們就重新注冊任務。如果我們的定時任務表達式是配置在數據庫,那我們可以定時輪訓數據庫獲取,檢測到變化了就重新注冊。如果是配置在配種中心,配置中心一般會有觸發器trigger。當我們接受配置中心數據發生變化的通知以后,我們重新注冊定時任務。

重新注冊任務的方法

reReqiester方法可以暴露出去被其它類調用。當外部邏輯檢測到定時任務的執行時間發生變化,調用此方法重新注冊定時任務

ScheduledTaskRegistrar是Task的一個容器, 內部維護了這些Task List和executor的引用, 并負責將Task置入executor中執行。ScheduledTaskRegistrar的實現原理大家自行研究。這里就不進行詳細解釋。

實現BeanPostProcessor可以在ScheduleTask對象實例化以后,我們調用自己的邏輯方法。在這里我們用來觸發configureTasks方法。

至此,我們就自己實現了定時任務的調度,在調度的過程中,我們也可以加入自己邏輯處理業務。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1263

    瀏覽量

    69503
  • JAVA
    +關注

    關注

    19

    文章

    2969

    瀏覽量

    104779
收藏 人收藏

    評論

    相關推薦

    Spring Boot如何實現異步任務

    Spring Boot 提供了多種方式來實現異步任務,這里介紹三種主要實現方式。 1、基于注解 @Async @Async 注解是 Spring 提供的一種輕量級異步
    的頭像 發表于 09-30 10:32 ?1443次閱讀

    Linux系統定時任務Crond

    會定期(默認每分鐘檢查一次)檢查系統中是否有要執行的任務工作,如果有,便會根據其預先設定的定時任務規則自動執行該定時任務工作,這個crond定時任務服務就相當于我們平時早起使用的鬧鐘一
    發表于 07-05 06:22

    linux的循環定時任務

    linux循環定時任務
    發表于 05-20 14:59

    SpringBoot如何實現動態增刪啟停定時任務

    spring boot項目中,可以通過 @EnableScheduling 注解和@Scheduled注解實現定時任務,也可以通過SchedulingConfigurer接口來實現定時任務
    的頭像 發表于 09-24 09:49 ?2951次閱讀
    SpringBoot如何實現動態增刪啟停<b class='flag-5'>定時任務</b>

    Python定時任務的實現方式

    在日常工作中,我們常常會用到需要周期性執行的任務,一種方式是采用 Linux 系統自帶的 crond 結合命令行實現。另外一種方式是直接使用Python。接下來整理的是常見的Python定時任務
    的頭像 發表于 10-08 15:20 ?5736次閱讀

    說說Spring定時任務如何大規模企業級運用

    定時任務是業務應用開發中非常普遍存在的場景(如:每分鐘掃描超時支付的訂單,每小時清理一次數據庫歷史數據,每天統計前一天的數據并生成報表等等),解決方案很多,Spring 框架提供了一種通過注解來配置定時任務的解決方案,接入非常的
    的頭像 發表于 11-04 09:36 ?698次閱讀

    解析Golang定時任務庫gron設計和原理

    正巧,最近看到了 gron 這個開源項目,它是用 Golang 實現一個并發安全的定時任務庫。實現非常簡單精巧,代碼量也不多。今天我們就來一起結合源碼看一下,怎樣基于 Golang 的能力做出來一個【定時任務庫】。
    的頭像 發表于 12-15 13:57 ?1342次閱讀

    求一種SpringBoot定時任務動態管理通用解決方案

    SpringBoot的定時任務的加強工具,實現對SpringBoot原生的定時任務進行動態管理,完全兼容原生@Scheduled注解,無需對原本的定時任務進行修改
    的頭像 發表于 02-03 09:49 ?784次閱讀

    Spring Boot中整合兩種定時任務方法

    框架 Quartz ,Spring Boot 源自 Spring+SpringMVC ,因此天然具備這兩個 Spring 中的定時任務實現策
    的頭像 發表于 04-07 14:55 ?1552次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b>中整合兩種<b class='flag-5'>定時任務</b>的<b class='flag-5'>方法</b>

    Spring Boot中如何使用定時任務

    本文介紹在 Spring Boot 中如何使用定時任務,使用非常簡單,就不做過多說明了。
    的頭像 發表于 04-12 10:56 ?978次閱讀

    如何動態添加修改刪除定時任務

    如何動態添加修改刪除定時任務?那么我們一起看看具體怎么實現,先看下本節大綱: (1)思路說明; (2)代碼解析; (3)修改定時任務執行周期特別說明;
    的頭像 發表于 04-12 11:06 ?1084次閱讀

    Linux如何使用cron進行定時任務的操作

    按計劃執行命令對于計算機來說非常重要,因為假如我親自去執行一些任務的話,可能會因為多方面因素不能按時執行,所以定時任務就顯得非常重要了! cron就是一個能夠執行定時任務的命令,其實該命令本身不難,下面小編帶您詳細了解!
    的頭像 發表于 05-12 16:27 ?2062次閱讀

    python定時任務實踐

    由于程序需求,監測配置變化需要設置定時任務,每分鐘執行一次,對任務持久化要求不高,不需要時可以關閉定時任務
    的頭像 發表于 05-20 17:53 ?979次閱讀
    python<b class='flag-5'>定時任務</b>實踐

    Spring Boot 的設計目標

    什么是Spring Boot Spring BootSpring 開源組織下的一個子項目,也是 S
    的頭像 發表于 10-13 14:56 ?589次閱讀
    <b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b> 的設計目標

    linux定時任務的用法總結

    習慣了使用 windows 的計劃任務,使用 linux 中的 crontab 管理定時任務時很不適應。
    的頭像 發表于 08-14 18:16 ?851次閱讀
    linux<b class='flag-5'>定時任務</b>的用法總結
    主站蜘蛛池模板: 狠狠人妻久久久久久综合九色| 岛国大片在线播放免费| 99国产热视频在线观看| 狠狠狠色丁香婷婷综合久久| 色AV色婷婷96人妻久久久| 99久久国内精品成人免费| 美女诱点第6季| 自拍偷拍2| 免费国产精品视频| 99福利影院| 欧美ZC0O人与善交的最新章节| 99热精品在线av播放| 欧美性xxx免费看片| 被男按摩师添的好爽在线直播| 女王黄金vk| yellow免费影视大全| 日本午夜精品久久久无码| 成年视频国产免费观看| 入禽太深免费观看| 国产剧果冻传媒星空在线观看 | 香蕉久久夜色精品国产小优| 国产高清精品国语特黄A片| 无码欧美喷潮福利XXXX| 好大好爽CAO死我了BL| 伊人国产精品| 欧美白人战黑吊| 国产AV无码成人黄网站免费| 亚洲 综合 自拍 精品 在线| 国产呦精品一区二区三区网站| 一本大道香蕉中文在线视频观看 | 91精品国产入口| 日本高清无人区影院| 国产精品婷婷五月久久久久| 野花日本大全免费观看3中文版| 恋夜影院安卓免费列表uc| xx69美国| 亚洲精品m在线观看| 秘密影院久久综合亚洲综合| 粗壮挺进邻居人妻无码| 亚洲欧美一区二区久久| 女人被躁到高潮嗷嗷叫免费|