SpringMVC 項目中 Quartz 定時任務的設置紀要

jopen 10年前發布 | 33K 次閱讀 SpringMVC Quartz Spring MVC Web框架

項目使用的是SpringMVC, 以前就已經集成了 1.x 版本的 Quartz,有專門的配置文件定義了需要的bean。

一、配置文件示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="

</beans></pre>



注意:schedulerFactory 只能定義一個,不然在工程啟動的時候會報錯。


二、實現程序對定時任務執行的控制

目前擬實現一個控制定時任務執行的服務類,供控制層調用,包括對運行中的Quartz中觸發器的增、刪和修改。

在這個服務類中,可以通過依賴注入注解拿到配置好的 SchedulerFactoryBean 和 觸發器bean,例如:

@Autowired
SchedulerFactoryBean schedulerFactory;

@Autowired CronTriggerBean xxxTrigger;</pre>



拿到 SchedulerFactoryBean 的 bean 以后,就可以借此獲得獲得 Scheduler 對象 scheduler :

Scheduler scheduler = schedulerFactory.getScheduler();



通過 scheduler 可以取消和新增任務計劃的觸發器了:

try {
    scheduler.unscheduleJob("xxxTrigger", Scheduler.DEFAULT_GROUP);
} catch (SchedulerException e) {
    e.printStackTrace();
}



try {
    String newExpression = "5/1 * * * * ?";
    xxxTrigger.setCronExpression(newExpression);
    scheduler.scheduleJob(xxxTrigger);
} catch (SchedulerException e) {
    e.printStackTrace();
} catch (ParseException e) {
    e.printStackTrace();
}




 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!