做為使用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 內部模組化時,之中有不同的邏輯。將 分為業務邏輯層和資料儲存層,將 模組化成兩個層級。像 對選單的處理,選單功能實現為業務邏輯 像 選單資料儲存用鍊錶,也可以以後改為雜湊...