最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

學(xué)習(xí)記錄之靜態(tài)資源服務(wù)器和Quartz

2022-08-07 21:49 作者:星月襲空  | 我要投稿

什么是靜態(tài)資源服務(wù)器

我們無論做什么項目,都會有一些頁面中需要顯示的靜態(tài)資源,例如圖片,視頻文檔等

我們一般會創(chuàng)建一個單獨的項目,這個項目中保存靜態(tài)資源

其他項目可以通過我們保存資源的路徑訪問

為什么需要靜態(tài)資源服務(wù)器

原因是靜態(tài)資源服務(wù)器可以將項目需要的所有圖片統(tǒng)一管理起來

當(dāng)其他模塊需要圖片時,可以從數(shù)據(jù)庫中直接獲得訪問靜態(tài)資源的路徑即可,方便管理所有靜態(tài)資源

Quartz

什么是Quartz

quartz:石英鐘的意思

是一個當(dāng)今市面上流行的高效的任務(wù)調(diào)用管理工具

由OpenSymphony開源組織開發(fā);

什么是任務(wù)調(diào)度

所謂任務(wù)調(diào)用,就是執(zhí)行某些具體動作的時間計劃

我們使用過的最簡單的調(diào)度方法就是Timer

但是Timer的調(diào)度功能過于單一,只能是指定時間的延時調(diào)用和周期運行

而Quartz可以更詳細的指定時間,進行計劃調(diào)用

Quartz核心組件

調(diào)度器:Scheduler

任務(wù):job

觸發(fā)器:Trigger

調(diào)度器來配置\計劃什么時間觸發(fā)什么任務(wù)

簡單來說就是調(diào)度器規(guī)定什么時間做什么事情

  • job(工作\任務(wù)):Quartz 實現(xiàn)過程中是一個接口,接口中有一個方法execute(執(zhí)行的意思)

?我們創(chuàng)建一個類,實現(xiàn)這個接口,在方法中編寫要進行的操作(執(zhí)行具體任務(wù))

?我們還需要一個JobDetail的類型的對象,Quartz每次執(zhí)行job時

?會實例化job類型對象,去調(diào)用這個方法,JobDetail是用來描述Job實現(xiàn)類

?的靜態(tài)信息,?比如任務(wù)運行時在Quartz中的名稱

  • Trigger(觸發(fā)器):能夠描述觸發(fā)指定job的規(guī)則,分為簡單觸發(fā)和復(fù)雜觸發(fā)

    簡單觸發(fā)可以使用SimplTrigger實現(xiàn)類.功能類似timer

    復(fù)雜觸發(fā)可以使用CronTrigger實現(xiàn)類,內(nèi)部利用cron表達式描述各種復(fù)雜的時間調(diào)度計劃

  • Scheduler(調(diào)度器):一個可以規(guī)定哪個觸發(fā)器綁定哪個job的容器

    在調(diào)度器中保存全部的Quartz?保存的任務(wù)

    SpringBoot框架下,添加Quartz依賴后,調(diào)度器由SpringBoot管理,我們不需要編寫

Cron表達式

  • * 表示任何值,如果在分的字段上編寫*,表示每分鐘都會觸發(fā)

  • , 是個分割符如果秒字段我想20秒和40秒時觸發(fā)兩次就寫 20,40

  • - 表示一個區(qū)間 秒字段5-10 表示 5,6,7,8,9,10

  • / 表示遞增觸發(fā) 秒字段 5/10表示5秒開始每隔10秒觸發(fā)一次

    日字段編寫1/3表示從每月1日起每隔3天觸發(fā)一次

  • ? 表示不確定值, 因為我們在定日期時,一般確定日期就不確定是周幾,相反確定周幾時就不確定日期

  • L 表示last最后的意思,我們可以設(shè)置當(dāng)月的最后一天,就會在日字段用L表示,

    周字段使用L表示最后一周,一般會和1-7的數(shù)字組合

    例如6L表示本月最后一周的周五

  • W (work)表示最近的工作日(單純的周一到周五) 如果日字段編寫15W表示

    每月15日最近的工作日觸發(fā),如果15日是周六就14日觸發(fā),如果15日是周日就16日觸發(fā)

?LW通常一起使用,表示本月的最后一個工作日

  • # 表示第幾個,只能使用在周字段上 6#3表示每月的第三個周五

    如果#后面數(shù)字寫大了,是一個不存在的日期,那就不運行了

    適合設(shè)計在母親節(jié)或父親節(jié)這樣的日期運行

SpringBoot使用Quartz

SpringBoot框架下使用Quartz格式還是非常固定的

我們選用之前學(xué)習(xí)微服務(wù)的項目csmall減少對大項目的影響

首先添加依賴

我們選項csmall-stock-webapi模塊pom文件

先編寫要執(zhí)行的任務(wù)

當(dāng)前項目模塊中創(chuàng)建quartz包

包中創(chuàng)建一個QuartzJob的類,實現(xiàn)Job接口

代碼如下

上面編寫的是Job接口的實現(xiàn)類,要想運行還需要將它封裝為JobDetail對象保存在Spring容器中

還有要創(chuàng)建一個Trigger設(shè)置要運行的時機,也保存到Spring容器中

在quartz包下,再創(chuàng)建一個QuartzConfig類,其中編寫它們的調(diào)度綁定關(guān)系

這個格式是固定的,后面再需要綁定,直接套用即可


學(xué)習(xí)記錄之靜態(tài)資源服務(wù)器和Quartz的評論 (共 條)

分享到微博請遵守國家法律
岳阳市| 大竹县| 阿城市| 个旧市| 莱州市| 宁河县| 建宁县| 水富县| 寻乌县| 恭城| 渑池县| 石柱| 休宁县| 吴川市| 甘泉县| 兖州市| 兰溪市| 灌云县| 绍兴县| 灵台县| 高台县| 都匀市| 翁牛特旗| 仁布县| 亳州市| 丽水市| 屯门区| 商河县| 枣阳市| 临湘市| 兴安盟| 资兴市| 石台县| 汉阴县| 巴马| 陵水| 鲁甸县| 理塘县| 新郑市| 福海县| 仁寿县|