SpringMVC 項目中 Quartz 定時任務的設置紀要
項目使用的是SpringMVC, 以前就已經集成了 1.x 版本的 Quartz,有專門的配置文件定義了需要的bean。
一、配置文件示例如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="
</beans></pre>
二、實現程序對定時任務執行的控制
目前擬實現一個控制定時任務執行的服務類,供控制層調用,包括對運行中的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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!