Quartz定時 排程

2021-09-01 10:22:24 字數 1958 閱讀 8290

org.quartz.scheduler類層次

作為乙個 quartz 使用者,你要與實現了 org.quartz.scheduler 介面的類互動。在你呼叫它的任何 api 之前,你需要知道如何建立乙個 scheduler 的例項。取而代之的是用了某個工廠方法來確保了構造出 sheduler 例項並正確的得到初始化,quartz 框架為這一目的提供了 org.quartz.schedule***ctory 介面。角色 schedule***ctory 就是用來產生 scheduler 例項的。當 scheduler 例項被建立之後,就會存到乙個倉庫中(org.quartz.impl.schedulerrepository),這個倉庫還提供了通過乙個 class loader 查詢例項的機制。要使用 scheduler 例項,客戶端必須從工廠(和隨同的倉庫中)使用不同方法呼叫來獲取到它們。換句話說,要通過工廠建立乙個 scheduler 例項並獲取到它需要經由兩次方法呼叫。

所有的 scheduler 例項應該由 schedule***ctory 來建立

使用directschedule***ctory構造例項方法**如下:

directschedule***ctory factory=directschedule***ctory.getinstance();   

try {   

// initialize the scheduler factory with 10 threads   

factory.createvolatilescheduler(10);  

// get a scheduler from the factory   

scheduler scheduler = factory.getscheduler();

方法 createvolatilescheduler() 方法不會返回 scheduler 的例項。create***() 方法是告訴工廠如何配置要建立的 scheduler 例項。你必須呼叫方法 getscheduler() 獲取到在工廠上執行方法 create***() 產生的例項。實際上,在呼叫 getscheduler() 方法之前,你必須呼叫其中乙個 create***() 方法;否則,你將有收到乙個 schedulerexception 錯誤,因為根本沒有 scheduler 例項存在。

方法 createvolatilescheduler() 帶有單個引數:要建立的執行緒數量。

使用 stdschedule***ctory構造乙個排程器例項,具體使用方法如下:

stdschedule***ctory factory = new stdschedule***ctory();   

// create the properties to configure the factory   

properties props = new properties();   

// required to supply threadpool class and num of threads

props.put(stdschedule***ctory.prop_thread_pool_class,"org.quartz.simpl.******threadpool");   

props.put("org.quartz.threadpool.threadcount", "10");   

try {   

// initialize the factory with properties   

factory.initialize(props);   

scheduler scheduler = factory.getscheduler();

在這個例子中向工廠傳遞了兩個屬性,它們分別是實現了 org.quartz.spi.threadpool 介面的類名和 scheduler 用來處理 job 的執行緒的數量。這兩個屬性是必須的。但是我們也可以這樣的得到例項

Quartz定時排程

quartz定時排程 在包含了spring依賴包情況下加入quartz所依賴包 org.quartz schedulergroupid quartzartifactid 2.2.1version dependency spring用的4.0.2版本 需要注意的是quartz的版本區別 1.x系列的對...

quartz的定時排程任務

在工作中遇到了利用quartz的定時排程任務,在此記錄下來,以備後用 上 1.在pom中引入quartz的檔案 org.quartz scheduler quartz 2.2.1 2.建乙個service配置排程 component public class sendfileschedulerser...

定時排程 Spring整合Quartz

定時排程就是設定時間規則,系統按照規則呼叫設定的功能函式。這個是我在專案中碰到的,大家用得到的就看看 有不足之處還請大家指出!不用謝!1 專案得新增spring框架 2 匯入quartz需要使用的jar包,總共是四個 quartz 1.6.0.jar spring 2.0.6.jar commons...