1、什么是Quartz框架?
Quartz是一個開源的作業調度框架,它完全由Java寫成,并設計用于J2SE和J2EE應用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來為執行一個作業而創建簡單的或復雜的調度。
● Job:表示一個任務(工作),要執行的具體內容。
● JobDetail:表示一個具體的可執行的調度程序,Job是這個可執行程調度程序所要執行的內容,另外JobDetail還包含了這個任務調度的方案和策略。
● Trigger:代表一個調度參數的配置,什么時候去調。
● Scheduler:代表一個調度容器,一個調度容器中可以注冊多個JobDetail和Trigger。當Trigger與JobDetail組合,就可以被Scheduler容器調度了。
Cron表達式是一個字符串,字符串以5或6個空格隔開,分為6或7個域,每一個域代表一個含義。
● Seconds(秒):可出現",-*/"四個字符,有效范圍為0-59的整數。
● Minutes(分鐘):可出現",-*/"四個字符,有效范圍為0-59的整數。
● Hours(小時):可出現",-*/"四個字符,有效范圍為0-23的整數。
● DayofMonth(日of月):可出現",-*/?L W C"八個字符,有效范圍為0-31的整數。
● Month(月):可出現",-*/"四個字符,有效范圍為1-12的整數。
● DayofWeek(日of星期):可出現",-*/?L C#"四個字符,有效范圍為1-7的整數1表示星期天,2表示星期一,依次類推。
● Year(年):可出現",-*/"四個字符,有效范圍為1970-2099年。
通過往表(新建一個操作日志表)里插入日志的形式:
● 運行中:通過JobListener監聽器來實現運行時更改表信息。
● 暫停中:調用scheduler.pauseTrigger()方法時,更改表中job信息。
● 等待中:新添加的job默認給其等待中的狀態,也是更改表中的job信息但是上面這種形式的麻煩之處是得頻繁的往表里插入數據。