Java Quartz 定時任務

Quartz 是一個完全由Java 編寫的開源作業調度框架,為在Java 應用程序中進行作業調度提供了簡單卻強大的機制。

核心概念

Job 和JobDetail

Job:定義需要執行的任務,該類是一個接口,需要在實現類的execute 方法中編寫需要定時執行的Job 任務

JobDetail:描述Job 的實現類及其它相關的靜態信息,如Job 名字、描述、關聯監聽器等信息。Quartz 每次調度 Job 時, 都重新創建一個 Job 實例, 所以它不直接接受一個 Job 的實例,相反它接收一個 Job 實現類,以便運行時通過 newInstance() 的反射機制實例化 Job。


Java Quartz 定時任務

示例


Trigger

負責設置調度策略,該類是一個接口,描述觸發Job 執行的時間觸發規則,主要有SimpleTriggerCronTrigger 兩個子類。當且只需要調度一次或者以固定的週期執行任務,SimpleTrigger 是最適合的選擇;而CronTrigger 則可以通過Cron 表達式來定義出各種複雜的時間規則調度方案。


Java Quartz 定時任務

示例


Scheduler

Scheduler 調度器相當於一個容器,裝載著任務和觸發器。該類是一個接口,代表一個Quartz 的獨立運行容器,Trigger 和JobDetail 可以註冊到Scheduler 中,兩者在Scheduler 中擁有各自的組及名稱,組及名稱是Scheduler 查找定位容器中某一個對象的依據,JobDetail 和Trigger 的組和名稱必須唯一。


Java Quartz 定時任務

示例


ThreadPool

Scheduler 使用一個線程池來作為任務運行的基礎設施,任務通過共享線程池中的線程來提高運算效率。


分享到:


相關文章: