使用quartz主要是爲了完成任務調度功能,百度一下,基本都是介紹各類原理和簡單的使用示例,能夠實現單獨使用或者集成spring使用。對於單獨使用quartz,且以調度平臺的方式使用則介紹很少。下面展現一下簡單的調度平臺的開發!(問題還有不少,慢慢解決吧)mysql
結合搜索到的內容,本地搭建了一個簡單的平臺示例。git
代碼碼雲地址:https://gitee.com/seguzhizi/JobManagerspring
簡單看下:sql
http://localhost:8080/JobManager/showtomcat
暫無任務eclipse
界面還沒作,能夠在本地經過直接訪問url來添加:url
http://localhost:8080/JobManager/jobA/jobGroupA/addip
具體路徑能夠參見SchedulerController方法開發
添加以後,自動跳轉到展現界面:rem
後臺已在運行,部分輸出以下:
點擊暫停以後,再也不繼續運行,輸出中止
界面展現的狀態已變化:PAUSED
此時界面展現可能有點bug,展現如圖:
刷新一下就OK了
再次點擊恢復:
狀態變爲NORMAL,後臺輸出也正常了
直接刪除便可
這個直接修改quartz庫中cron表的對應表達式便可,暫未實現
---------------
1:checkout代碼導入eclipse
2:本地開啓mysql,執行main/resources/quartz.sql
3:部署至tomcat直接啓動(導入工程不報錯)
4:訪問便可
---------------
幾個點說明下:
1:注意quartz.properties的配置
2:注意SchedulerFactoryBean的bean配置
3:一個job實例對應多個trigger,可是一個trigger只能觸發一個job實例
4:quartz的scheduler是一個大管家,在service中也能夠看到調度任務都是由它來控制的(將其注入的)
5:目前添加任務時,Class參數是寫死的,須要擴展
6:這個是本地的job實例,還有一個remote類型的實例,目前尚未試,若是有意引入定時任務管理系統,能夠考慮碼雲上的xxl-job開源系統,比較好用