首先宣告乙個類繼承job介面,將來quartz會排程這個類的execute
public class updateconfigurationtask implements job
clientmanager.updateconfig();
}catch(exception ex)
}}
定義jobdetail,用以設定job的各種屬性
jobdetail jobdetail = new jobdetail("updateconfigurationtask","jgroup1", updateconfigurationtask.class);
定義乙個trigger
******trigger ******trigger = new ******trigger("configurationcentertrigger","group1");
設定trigger的屬性,主要是執行週期,時間,間隔等
******trigger.setstarttime(new date());
******trigger.setrepeatinterval(150000);
******trigger.setrepeatcount(org.quartz.******trigger.repeat_indefinitely);
從schedule***ctory獲取乙個scheduler物件
schedule***ctory schedule***ctory = new stdschedule***ctory();
scheduler scheduler = schedule***ctory.getscheduler();
使用定義的trigger排程定義的jobdetail
scheduler.schedulejob(jobdetail, ******trigger);
scheduler.start();
首先依然是乙個作業類,不過不需要繼承job介面了
接下是定義jobdetail,methodinvokingjobdetailfactorybean起到工廠類的作用,生成jobdetail物件並制定需要呼叫的類及類的方法
定義cronrigger,crontriggerbean其實是繼承了crontrigger
從schedule***ctory獲取scheduler物件並排程定義的trigger
我稱之為quartz api,它是乙個servlet,起到api的作用,接受外部請求,展示並控制當前quartz排程的任務
首先獲取spring注入生成的schedule
獲取當前排程的quartz資訊
string triggergns = scheduler.gettriggergroupnames();
for (int i = 0; i < triggergns.length; i++)
map.put("jobname", trigger.getjobname());
map.put("jobgroup", trigger.getjobgroup());
map.put("last_time", df.format(econvert.todate(trigger.getpreviousfiretime())));
map.put("next_time", df.format(econvert.todate(trigger.getnextfiretime())));
int status = scheduler.gettriggerstate(trigger.getname(), trigger.getgroup());
map.put("status",gettriggerstatusname(status));
list.add(map);
} }
暫停/恢復job
pause
scheduler.pausejob(jobname, jobgroup);
resume
scheduler.resumejob(jobname, jobgroup);
執行一次作業
scheduler.triggerjob(jobname, jobgroup);
Quartz作業排程實踐
quartz的使用場景 例如 每5秒對某個平台傳輸資料 quartz框架的一些基礎概念解釋 scheduler 作業排程器。ijob 作業介面,繼承並實現execute,編寫執行的具體作業邏輯。jobbuilder 根據設定,生成乙個詳細作業資訊 jobdetail triggerbuilder 根...
Quartz事物排程
舉例說明 比如我們需要在每個星期四下午三點時候發週報,我們需要乙個系統在兩點半的時候給我們乙個發週報的提醒,這個提醒就是一次任務,每週星期四下午兩點半的時候自動觸發這個任務,這就可以理解為這個系統的一次任務排程。在比如我們的系統心跳資料報的傳送,判斷乙個使用者是否在操作等等。quartz 提供給我們...
任務排程 Quartz
首先,quartz是什麼 先看看我們生活中的例子 每月的2月21號提醒我今天是男朋友的生日 每月的17號提醒我大姨媽快要來了 每隔一小時提醒我起來走走運動運動 就是在某乙個有規律的時間點乾某件事。並且時間的觸發的條件可以非常複雜 比如每月最後乙個工作日的17 50 複雜到需要乙個專門的框架來幹這個事...