(一)Quartz單機

1.Quartz簡介

  Quartz是一個完全由java編寫的開源作業(yè)調度框架,能實現(xiàn)業(yè)務的定時調度。Quartz主要有三個核心調度器、任務和觸發(fā)器:

①任務-JobDetail:Quartz在任務調度的時候,需要創(chuàng)建一個任務實例,JobDetail正是承擔這個角色。在Quartz2.0以前的版本中,創(chuàng)建一個任務通過new JobDetail(String jobName, String gruop, Class jobCLass)這個方法來創(chuàng)建,在2.0之后的版本中通過JobBuilder來創(chuàng)建任務。Job接口中只有一個方法void execute(JobExecutionContext context) throws JobExecutionException,因此在任務調度時,只需要實現(xiàn)execute方法就可以了,使用起來很方便。

②觸發(fā)器-Trigger:定義Job的執(zhí)行時間、次數(shù)等信息,有SimpleTrigger和CronTrigger兩種類型。當你需要的是一次性的調度,或者你需要在指定的時間激活某個任務并執(zhí)行N次,設置每次任務執(zhí)行的間隔時間T。那此時使用SimpleTrigger將是非常方便的。如果你想在每周的周一7:00或者每月的第2,3天實現(xiàn)任務調度,這時候就需要用到CronTrigger,CronTrigger能夠提供復雜的觸發(fā)器表達式滿足我們的需求。同時需要提到的一點是Quartz還提供很多日期的實現(xiàn)類DateBuilder等,在實際使用中很方便。

③調度器-Scheduler:Quartz框架的核心是調度器。調度器負責管理Quartz應用運行時環(huán)境。調度器不是靠自己做所有的工作,而是依賴框架內一些非常重要的部件。Quartz不僅僅是線程和線程管理。為確??缮炜s性,Quartz采用了基于多線程的架構。啟動時,框架初始化一套worker線程,這套線程被調度器用來執(zhí)行預定的作業(yè)。這就是Quartz怎樣能并發(fā)運行多個作業(yè)的原理。Quartz依賴一套松耦合的線程池管理部件來管理線程環(huán)境。

2.搭建Quartz工程

①創(chuàng)建一個新工程

  新建文件lib作為外部jar包,Quartz最新版本通過官網(wǎng)可以下載http://www.quartz-scheduler.org/downloads/導入你下載的quartz包,新建package為com.example.singleQuartz,里面就兩個簡單的類SingleQuartzJob和SingleQuartzServer。SingleQuartzJob定義Job的實現(xiàn)類,SingleQuartzServer任務調度服務。

大數(shù)據(jù)培訓,云培訓,數(shù)據(jù)挖掘培訓,云計算培訓,高端軟件開發(fā)培訓,項目經理培訓

②SingleQuartzJob.java定義

網(wǎng)友評論