Quartz學習筆記

2021-10-08 23:16:27 字數 2187 閱讀 2438

一、核心概念

job 表示乙個工作,要執行的具體內容。此介面中只有乙個方法

void execute(jobexecutioncontext context)jobdetail 表示乙個具體的可執行的排程程式,job 是這個可執行程排程程式所要執行的內容,另外 jobdetail 還包含了這個任務排程的方案和策略。

trigger 代表乙個排程引數的配置,什麼時候去調。

scheduler 代表乙個排程容器,乙個排程容器中可以註冊多個 jobdetail 和 trigger。當 trigger 與 jobdetail 組合,就可以被 scheduler 容器排程了。

二、使用

使用schedule***ctory例項化

狀態:啟動(start)、暫停(stand-by)、停止(shutdown)。注意:scheduler被停止後,除非重新例項化,否則不能重新啟動;只有當scheduler啟動後,即使處於暫停狀態也不行,trigger才會被觸發(job才會被執行)。

schedule***ctory schedfact =

neworg.quartz.impl.stdschedule***ctory()

; scheduler sched = schedfact.

getscheduler()

; sched.

start()

;// define the job and tie it to our hellojob class

jobdetail job =

newjob

(hellojob.

class).

withidentity

("myjob"

,"group1").

build()

;// trigger the job to run now, and then every 40 seconds

trigger trigger =

newtrigger()

.withidentity

("mytrigger"

,"group1").

startnow()

.withschedule

(******schedule()

.withintervalinseconds(40

).repeatforever()

).build()

;// tell quartz to schedule the job using our trigger

sched.

schedulejob

(job, trigger)

;

3.寫了乙個通用的quartz工具類:

import org.quartz.jobbuilder;

import org.quartz.jobdetail;

import org.quartz.scheduler;

import org.quartz.schedule***ctory;

import org.quartz.******schedulebuilder;

import org.quartz.trigger;

import org.quartz.triggerbuilder;

import org.quartz.impl.stdschedule***ctory;

public

class

quartzutil

catch

(exception e)

}}

4.使用方法:要重複啟動的類implements job類,示例:

import org.quartz.job;

import org.quartz.jobexecutioncontext;

import org.quartz.jobexecutionexception;

public

class

implements

jobcatch

(exception e)

}public

void

execute

(jobexecutioncontext context)

throws jobexecutionexception

}

目錄 Quartz學習筆記

00.quartz 簡介 01.quartz 環境搭建 基於記憶體 02.quartz 環境搭建 基於jdbc mysql 03.quartz 定時任務 job 和 jobdetail 04.quartz 觸發器 05.quartz cron 表示式詳解 06.quartz joblistener ...

Quartz2D學習筆記

1 drawrect方法 1.證明drawrect方法是在viewdidload後自動呼叫的,方便處理view的相關屬性 yqview view yqview alloc initwithframe self.view.bounds self.view addsubview view 證明如果在初始...

學習筆記 quartz2D

quartz2d是屬於core graphic框架,該框架是基於c的api。quartz2d用於繪製平面圖形。新增uiview的子類myview,在myview.m中實現如下方法 1 pragma mark 在這個方法內部進行繪圖 2 void drawrect cgrect rect 在該方法內部...