第九節 Quartz中的作業

2021-09-01 16:46:28 字數 1592 閱讀 4618

做為使用quartz的我們,其實最關心的就job,job裡面會實現我們要執行的業務**,相對於排程器觸發器來講,job相對簡單一些。

先睹圖為快:

我們繼承ijob介面定義的job會被封裝到

jobdetailimpl

中,jobdetailimpl

還包括其它屬性,比如唯一標識job的jobkey(如上圖),可見記錄job狀態的

jobdatamap

(如上圖),還有就是是否支援持久化,ijob,等等一些其它的屬性

至於ijobexecutioncontext

可以叫做job執行上下文,裡面比如會有當前的觸發器,當前作業,排程器這些東東。

當初始化

ijobdetail

的時候是用

jobbuilder

來完成的。

比如:ijobdetail myjob =jobbuilder.create().withidentity("j1").build();

前面幾節大家已經會實現自己的job了,今天來實現乙個能記錄執行過程中的資料的job,很簡單,直接看**吧:

1:job**(

和舊版的寫法不一樣):

[csharp]view plain

copy

[persistjobdataafterexecution]

//儲存執行狀態

[disallowconcurrentexecution]//不允許併發執行

public

class

myjob : ijob  

}  

2:排程**:

[csharp]view plain

copy

static

void

main(

string

args)    

3執行結果:

總結:進一步了解了作業原理。

全部**:

[csharp]view plain

copy

using

system;  

using

system.collections.generic;  

using

system.linq;  

using

system.text;  

using

quartz.impl;  

namespace

quartz.demo  

}  [persistjobdataafterexecution]//儲存執行狀態

[disallowconcurrentexecution]//不允許併發執行

public

class

myjob : ijob  

}  

第九節除錯

除錯 第一種方法簡單直接粗暴有效,就是用print 把可能有問題的變數列印出來看看 斷言凡是用print 來輔助檢視的地方,都可以用斷言 assert 來替代 assert的意思是,表示式n 0應該是true,否則,根據程式執行的邏輯,後面的 肯定會出錯。如果斷言失敗,assert語句本身就會丟擲a...

java筆記第九節

第九節 一 設計模式 相當於戰術 入格 看 可用性,美觀性 的由23種。二 架構模式 相當於戰略 目前只有兩種 1.b s 瀏覽器 伺服器,邏輯 堆放到伺服器上 方便公升級,修改,伺服器任務重 b s網頁上的內容是臨時從伺服器上下下來的 2.c s 客戶 伺服器,邏輯 堆放到客戶端上 不適合管理軟體...

第九節 開閉原則

1 開閉原則,對擴充套件是開放的,對修改是關閉的。2 復用,模組復用和系統復用,其中模組部分復用或將整個專案程式設計可復用的。3 內部模組化時,之中有不同的邏輯。將 分為業務邏輯層和資料儲存層,將 模組化成兩個層級。像 對選單的處理,選單功能實現為業務邏輯 像 選單資料儲存用鍊錶,也可以以後改為雜湊...