1:在Maven的的中导入的JAR包
<!--quartz 定时器的使用--> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.3.0</version> </dependency>
2:在Spring类型的xml中配置spring-quartz.xml:
1:定义需要调用对象
<!--1:定义需要调用的对象--> <bean id="taskJob" class="cn.attendance.common.task.Task"/>
2:定义调用的对象和调用的对象方法
<!--2:定义该调用对象的方法--> <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!--concurrent:是否支持并发--> <property name="concurrent" value="false"/> <!--目标对象--> <property name="targetObject" ref="taskJob"/> <!--目标方法--> <property name="targetMethod" value="test"/> </bean>
3:定义触发器并配置触发时间(可为多个)
<!--3:定义触发器并配置触发时间(可为多个)--> <bean id="attendCheck" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!--指定调用对象的指定方法--> <property name="jobDetail" ref="jobDetail"/> <!--配置触发时间--> <property name="cronExpression"> <value>0/5 * * * * ? </value> </property> </bean>
4:配置调度器
调度器用来调度触发器
<!--4:配置调度器--> <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <!--调度触发器(可为多个)--> <ref bean="attendCheck"/> </list> </property> </bean>
5:在弹簧-config.xml中的容器中引入
<!--引入quartz定时器--> <import resource="spring-quartz.xml"/>