Quartzt框架與Spring整合使用詳解

2021-08-11 07:38:24 字數 2034 閱讀 1796

一.quartz框架簡介

quartz是乙個開源專案,它可以與j2ee和j2se結合使用,也可以單獨使用。quartz可以用來建立許多jobs這樣的複雜的程式,並通過cron表示式自定義執行的規則。quartz的幾個核心概念如下:

1.job:代表乙個工作,要執行的內容,此介面只有乙個方法execute().

2.jobdetail:代表乙個可執行的排程程式,job是這個可執行排程程式的內容,另外,jobdetail還包含了這個任務排程的方案和策略。

3.trigger:代表乙個排程引數的配置

4.scheduler:代表乙個排程容器,可以註冊多個jobdetial和trigger

5.schedule***ctory:代表乙個排程工廠,用來建立乙個scheduler排程器

二.quartz執行流程

此排程流程體現在spring就是,job注入到jobdetial,jobdetial注入到trigger,trigger注入到scheduler中

三.cron表示式

具體的規則如下:

1.cron由七個域組成,順序為:秒 分 時 日 月 周 年,以空格作為分界?

2.特殊字元:

使用星號(*)指示著你想在這個域上包含所有合法的值。例如,在月份域上使用星號意味著每個月都會觸發這個 trigger。

?號只能用在日和周域上,但是不能在這兩個域上同時使用,指不為該域指定值

逗號(,)是用來在給某個域上指定乙個值列表的。例如,使用值 0,15,30,45在秒域上意味著每15秒觸發乙個 trigger。 

斜槓(/)是用於時間表的遞增的。例如 0/15表示每15分鐘的遞增。

中劃線(-)用於指定乙個範圍。例如,在小時域上的 3-8意味著 "3,4,5,6,7和 8 點

l說明了某域上允許的最後乙個值。它僅被日和周域支援

w字元代表著平日 (mon-fri),並且僅能用於日域中

#字元僅能用於周域中。它用於指定月份中的第幾周的哪一天

四.在spring配置使用quartz流程詳解

org.quartz-scheduler

quartz

2.2.3

org.quartz-scheduler

quartz-jobs

2.2.3

第二步:自定義建立任務類

public class myjob 

}

第三步:在spring配置檔案中配置任務類

第四步:在spring配置檔案中配置jobdetail

第五步:在spring配置檔案中配置觸發器

0/2 * * * * ? 2017-2099

第六步:在spring配置檔案中配置scheduler

第七步:載入spring檔案,建立spring工廠

public static void main(string args)

經過此七步,自定義乙個job,並把其配置到spring配置檔案中,即可實現job任務的定時執行。

Spring基礎框架三 深入理解SpringMVC

spring mvc屬於springframework的後續產品,spring mvc框架提供了構建web應用程式的全功能mvc模組,是一種輕量級web框架。使用了mvc架構模式的思想,通過把model,view,controller分離,將web層進行職責解耦,把複雜的web應用分成邏輯清晰的幾部...

SpringMVC學習筆記之與Spring的關係

需要進行 spring 整合 springmvc 嗎 還是否需要再加入 spring 的 ioc 容器嗎 是否需要再 web.xml 檔案中配置啟動 spring ioc 容器 contextloaderlistener 嗎 需要 通常情況下,類似於資料來源 事務 整合其它框架都是放在spring ...

Redis(五)之整合Jedis與Spring

思路 建立乙個redis操作的介面。分別建立兩個實現類對應redis 的單機版和集群版。當使用單機版redis時,配置單機版的實現類,當使用集群版本的時候,配置集群版的實現類。redis客戶端介面,在這裡新增常用方法 public inte ce jedisclient redis客戶端單機版實現類...