第八節 觸發器

2021-09-01 16:46:28 字數 1892 閱讀 8484

上節中學到了quartz 如何解析corn-like 表示式,其實觸發器中最核心的地方就是處理時間,

這一節讓我們來了解下quartz中的觸發器有哪些吧:

我想大家一定首先想到的就是處理corn-like的觸發器吧,它就是crontriggerimpl觸發器,還是看一下類圖,看看有多少觸發器,和它們之間的關係吧

如上圖,所有的觸發器繼承了

itrigger

介面和abstracttrigger

這個抽象類,類圖稍微有點亂,但大概也能看清它們的關係。

正如我們看到的,我們羅列一下上圖的觸發器吧:

crontriggerimpl                

使用corn-like表示式的乙個觸發器,觸發時機比較容易定製

calendarintervaltriggerimpl       

根據日曆的時間間隔重複執行的乙個觸發器

dailytimeintervaltriggerimpl      

根據每天重複的時間間隔

******triggerimpl              

簡單的觸發器,比如只執行一次這樣的

我們稍微看一下

itrigger

這個介面,就會發現

triggerkey

相當於觸發器的乙個主鍵,唯一標識乙個觸發器,並且乙個觸發器關聯乙個

jobkey

(相當於作業主鍵),比如還有getnextfiretimeutc()這樣類似的介面方法,這個方法應該是得到下一次執行作業的時間。也就是乙個觸發器對應乙個作業。

我們在用quartz的時候,對例項化上面哪些觸發器是不可見的,是由triggerbuilder這個類完成的。

可以看一下這些builder類的結構是怎麼的,如下圖:

很明顯乙個觸發器對應乙個builder了。

下面我們就簡單的******schedulebuilder來完成乙個例子吧:

1:job**:很簡單輸出當前時間

[csharp]view plain

copy

public

class

myjob : ijob  

}  

2:排程**:

[csharp]view plain

copy

static

void

main(

string

args)    

3:執行結果 間隔5s執行:

總結:認識了

quartz

中的觸發器

全部**:

[csharp]view plain

copy

using

system;  

using

system.collections.generic;  

using

system.linq;  

using

system.text;  

using

quartz.impl;  

namespace

quartz.demo  

}  public

class

myjob : ijob  

}  

第八節 函式

函式的特性 減少 重複 使程式變得可擴充套件 使程式變得易維護 乙個函式只做一件事情 變數作用域 python 中,程式的變數並不是在哪個位置都可以訪問的,訪問許可權決定於這個變數是在 賦值的。變數的作用域決定了在哪一部分程式可以訪問哪個特定的變數名稱。python的作用域一共有4種,分別是 以 l...

編譯原理 第八節

分為兩大類 自頂向下分析 和 自底向上分析 其中前者又細分為 遞迴下降分析法 包含回溯的遞迴下降分析法和不含回溯的遞迴下降分析法 和非遞迴的 分析法 ll分析法 後者分為算符優先分析法和lr分析法。思想 從語法的開始符號出發,試探使用不同產生式,尋找匹配於輸入符號串的推導。或者說,從對應文法開始符號...

python第八節(函式2)

內建函式 map zip 返回1 10的奇數列表 for i in range 1,10,2 print i li for i in range 1,10 if i 2 1 print i print li filter 過濾 defis odd n return n 2 1print list f...