1.所需依赖jar包
1 <dependency> 2 <groupId>org.quartz-scheduler</groupId> 3 <artifactId>quartz</artifactId> 4 <version>2.2.1</version> 5 </dependency>
2.spring-qurtz.xml集成配置文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> 5 <!-- 定时任务开始 --> 6 7 <!-- 创建定时任务bean --> 8 <bean id="createWeekly" class="com.fable.technology.bussiness.JobTask.ProjectReportJobTask"/> 9 10 <bean id="createWeeklyBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 11 <!-- 调用的类 --> 12 <property name="targetObject" ref="createWeekly"/> 13 <!-- 调用类中的方法 --> 14 <property name="targetMethod" value="cronjobByCreateWeekly"/> 15 <!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程 --> 16 <property name="concurrent" value="false"/> 17 </bean> 18 19 <bean id="createWeeklyBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 20 <property name="jobDetail"> 21 <ref bean="createWeeklyBean"/> 22 </property> 23 <property name="cronExpression"> 24 <!-- 每分钟执行一次 --> 25 <!--<value>0 */2 * * * ?</value>--> 26 <!--每周一凌晨一点触发--> 27 <value>0 0 1 ? * MON</value> 28 </property> 29 </bean> 30 31 <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> 32 <!-- 如果lazy-init='true',则需要实例化该bean才能执行调度程序 --> 33 <bean name="startQuertz" lazy-init="false" autowire="no" 34 class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 35 <!-- 配置调度任务表 --> 36 <property name="triggers"> 37 <list> 38 <!-- 定时任务触发列表,可添加多个不同的定时任务 --> 39 <ref bean="createWeeklyBeanTrigger"/> 40 </list> 41 </property> 42 </bean> 43 <!-- 定时任务结束 --> 44 45 <!-- quartz调度工厂bean --> 46 <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"/> 47 48 </beans>