Spring Quartz如何動態配置時間(3)

2021-08-29 14:48:55 字數 1436 閱讀 3799

書接上回,上回說到,我們已經將頁面的時間設定轉為了cron expression,下面我記錄了時間規則。

3) 記錄時間規則

我將時間規則存入資料庫中,目的是為了生成歷史日誌,也可以存入xml檔案中。當然您也可以省略此步,直接將轉換後的規則放入相應的quartz trigger中。

4) 更新任務觸發器的時間設定

到了關鍵的一步了,也是最簡單的一步,乙個方法就可以實現了。

首先,我們需要通過trigger的名稱得到乙個crontriggerbean;

其次,通過trigger的setcronexpression(string cronexp)方法將新的表示式注入;

最後,reschedule the job,ok!

1 /** */ /**

2 * 自定義定時器排程時間

3 * @param triggername 觸發器名稱

4 * @throws exception

5 */

6 public void updatenotificationinterval(string triggername, string triggerid)

7 throws schedulerexception, parseexception

18 ps:忘了說我的quartz任務是怎麼配置的了,罪過,罪過。

< bean id ="comparejob"

class ="org.springframework.scheduling.quartz.methodinvokingjobdetailfactorybean" >

< property name ="targetobject" ref ="compareservice" />

< property name ="targetmethod" value ="compare" />

< property name ="concurrent" value ="false" />

< bean id ="comparetrigger"

class ="org.springframework.scheduling.quartz.crontriggerbean" >

< property name ="jobdetail" ref ="comparejob" />

< property name ="cronexpression" >

< value > 0 39 16 20 * ?

< bean id ="schedule***ctory"

class ="org.springframework.scheduling.quartz.schedule***ctorybean" >

< property name ="triggers" >

< list >

< ref local ="comparetrigger" />

Spring Quartz如何動態配置時間

文章 網路 spring 中的xml配置如下 bean id comparejob class org.springframework.scheduling.quartz.methodinvokingjobdetailfactorybean property name targetobject re...

Spring Quartz如何動態配置時間(1)

1.目的 動態設定時間,觸發相應的任務 2.系統架構為 struts spring hibernate 3.實現步驟 在頁面上設定時間 將時間轉換為unix cron expression 將轉換後的時間規則表示式記錄到資料庫中 也可以寫入xml檔案中,這裡是專案需要記錄入資料庫中 從資料庫中得到相...

Spring Quartz如何動態配置時間(2)

書接上回,上回說到,武松武二郎斗殺西門慶,為大哥報了仇 啊,說串了,嘿嘿 不好意思 刪掉上面一行 上回說到,我們的設定頁面已經做好了,接下來就是將時間轉換為unix cron expression。2 將時間轉換為unix cron expression 需要actionform將頁面表單資料對映到...