Spring提供了几个类用于简化在Spring中使用Quartz任务调度。这里使用的Spring版本为4.3.5,Quartz版本为2.2.1。
除了搭建Spring MVC的几个依赖外,还需引入:
1 | <dependency> |
在Quartz Scheduler中配置Job
新建一个quartz-context.xml,用于配置Job,触发器等信息。通常使用MethodInvokingJobDetailFactoryBean来配置Job:
1 | <bean id="simpleJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> |
targetObject
制定调用的Bean,targetMethod
指定调用的方法。
simpleJob Bean如下:
1 | import java.text.SimpleDateFormat; |
在Quartz Scheduler中配置触发规则
两种方式配置触发规则:
SimpleTrigger
1 | <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> |
CronTrigger
1 | <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> |
配置SchedulerFactoryBean
使用SchedulerFactoryBean将jobDetails和triggers配置在一起:
1 | <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> |
完整的quartz-context.xml配置如下:
1 |
|
在web.xml中加入quartz-context.xml启动项:
1 | ... |
部署项目,启动后控制台输出:
1 | SimpleJob,triggered is 17:43:35 |
参考自http://websystique.com/spring/spring-4-quartz-scheduler-integration-example/