Quartz事物排程

2021-06-14 17:12:38 字數 907 閱讀 3121

舉例說明:比如我們需要在每個星期四下午三點時候發週報,我們需要乙個系統在兩點半的時候給我們乙個發週報的提醒,這個提醒就是一次任務,每週星期四下午兩點半的時候自動觸發這個任務,這就可以理解為這個系統的一次任務排程。在比如我們的系統心跳資料報的傳送,判斷乙個使用者是否在操作等等。

quartz 提供給我們定時排程已定義好的任務的能力。

如果你了解quartz的排程計畫cronexpression表示式的配置,你會感嘆quartz的靈活與強大。

quartz的簡單使用

先下只介紹spring 和quartz的整合使用。

乙個利用quartz來進行任務排程的典型配置,quartz的spring配置:

//要用到的乙個類

false

//目標類

//目標方法(注意,該方法必須沒有引數)

execute

1000

60000

其實quartz的使用主要有三個部分,乙個排程器scheduler,乙個要被排程的任務jobdetail,乙個觸發器trigger,對上面的配置做一說明,在圖中從下到上:

1、 配置乙個job,這個job就是我們要排程的任務類,

2、配置jobdetail,jobdetail需要載入job實現類,並且指定目標方法即完成任務需要執行的方法為execute,在這個方法裡面定義我們要做的任務,execute方法需要我們在job類中實現。

4、配置scheduler,只需要載入trigger即可,可以在list標籤下配置多個trigger。注意,scheduler的配置中有個lazy- init=false的配置,這表明只要我們的spring一啟動,quartz的scheduler也跟著啟動,否則其值為true的話,會因為惰性載入的問題,導致quartz不起作用,此項預設值是false。

Quartz排程實踐

首先宣告乙個類繼承job介面,將來quartz會排程這個類的execute public class updateconfigurationtask implements job clientmanager.updateconfig catch exception ex 定義jobdetail,用以...

任務排程 Quartz

首先,quartz是什麼 先看看我們生活中的例子 每月的2月21號提醒我今天是男朋友的生日 每月的17號提醒我大姨媽快要來了 每隔一小時提醒我起來走走運動運動 就是在某乙個有規律的時間點乾某件事。並且時間的觸發的條件可以非常複雜 比如每月最後乙個工作日的17 50 複雜到需要乙個專門的框架來幹這個事...

Quartz任務排程

id設定為自動獲取 每乙個必須不同 所有排程器例項中是唯一的 org.quartz.scheduler.instanceid auto 指定排程程式的主線程是否應該是守護執行緒 org.quartz.scheduler.makeschedulerthreaddaemon true threadpoo...