Quartz.Net是一個開源的作業調度框架; 官網地址:http://www.quartz-scheduler.net/documentation/index.html 源碼地址:https://sourceforge.net/projects/quartznet/ 定時輪詢資料庫同步,定時郵件通
一、Quartz.Net是什麼
1.來源
Quartz.Net是一個開源的作業調度框架;
2.下載地址
官網地址:http://www.quartz-scheduler.net/documentation/index.html
源碼地址:https://sourceforge.net/projects/quartznet/
二、Quartz.Net能幹什麼
定時輪詢資料庫同步,定時郵件通知
三、Quartz.Net中的設計模式
1.Builder模式
所有關鍵組件都由Builder模式來構建<Builder>。如:JobBuilder,TriggerBuilder
2.Factory模式
最終由Scheduler來進行組合各種組件<Factory>。如SchedulerFactory
3.Component模式
Quartz.Net項目中大量使用組件模式,插件式設計,可插拔,耦合性低,易擴展,開發者可自行定義自己的Job,Trigger等組件
4.鏈式編程
與jQuery的寫法相似
四、幾個重要的類型
1.SchedulerFactory(調度程式工廠)
(1)StdSchedulerFactory
Quartz.Net預設的SchedulerFactory
(2)DirectSchedulerFactory
是對SchedulerFactory的直接實現,通過它可以直接構建Scheduler,ThreadPool
2.IJobExecutionContext(Job上下文)
Job上下文,保存著Trigger,JobDetail等信息
3.Scheduler(調度器)
(1)StdScheduler
Quartz.Net預設的Scheduler
(2)RemoteScheduler
帶有RMI功能的Scheduler
4.Job(任務對象)
(1)JobDetail
它是實現輪詢的一個回調類,可將參數封裝成JobDataMap對象,Quartz.Net將任務的作業狀態保存在JobDeta中
(2)JobDataMap
JobDataMap用來報錯由JobDetail傳遞過來的任務實例對象
5.Trigger
(1)SimpleTrigger
普通的Trigger,對應調度器SimpleScheduleBuilder
(2)CronTrigger
帶Cron Like表達式的Trigger,對應調度器CronScheduleBuilder
(3)CalendarIntervalTrigger
帶日期觸發的Trigger,對應調度器CalendarIntervalScheduleBuilder
(4)DailyTimeIntervalTrigger
按天觸發的Trigger,對應調度器DailyTimeIntervalScheduleBuilder
6.ThreadPool
為Quartz運行任務時提供了一些線程
(1)SimpleThreadPool
一個Quartz預設實現的簡單線程池,它能夠應答大部分常用場景
五、參考文章
http://blog.csdn.net/chenweitang123/article/details/37777399