Quartz的一些基本知識

初識:一旦一個scheduler被實例化了,它就能夠被start,進入運行狀態,也能夠被shutdown。這也是一個scheduler的生命週期(從被實例化到被shutdown)。這裏須要注意,一旦scheduler被shutdown,就不能再從新start了,想要從新start,必須從新實例化spa

一個scheduler被實例化以後,就能夠添加、移除Job、Trigger甚至暫停一個Trigger等。可是,只有在start以後,Trigger才能夠生效(come into play)。對象

主要接口接口

Job接口:生命週期

public interface Job {
    void execute(JobExecutionContext context)
        throws JobExecutionException;

}

咱們寫本身的job時須要實現的接口。io

JobExecutionVontext參數攜帶的信息:scheduler的引用、trigger的引用、JobDetail對象以及其餘一些信息。變量

JobDetail接口:引用

在scheduler添加job時建立,它包含了Job的一些信息,以及一個JobDataMap,JobDataMap存儲了job的成員變量。im

Trigger接口:時間

觸發Job時須要,經過trigger能夠使得job執行,Quartz自帶了幾種不一樣的觸發方式,可是經常使用的是SimpleTrigger以及CronTrigger。co

SimpleTrigger適用於在給定的時間只執行一次或者重複執行N次或者延遲T執行。

CronTrigger更適用於與日曆相關的,好比每週一的上午十點執行。

在Quartz中,咱們稱JobDetail爲 「JobDetail實例」 或 「Job的定義」,稱Job爲 「Job實例」 或 「Job定義的實例」

相關文章
相關標籤/搜索