码迷,mamicode.com
首页 > 编程语言 > 详细

spring整合quartz实现定时任务

时间:2016-04-09 18:36:04      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

需求:spring+mybatis框架已经搭建好,需要实现一个定时任务。

一:导出相应的jar包

quartz-all-1.6.5.jar获取quartz-alll-1.6.6.jar

spring-context-support.jar

 

二:配置applicationContext.xml文件

在<beans></beans>元素内配置如下内容

 1 <!--定时任务配置-->
 2     <!-- 定义调用对象和方法,以及是否并发处理-->
 3         <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 4             <property name="targetObject" ref="quartzServiceImpl"/>
 5             <property name="targetMethod" value="timeScan"/>
 6             <property name="concurrent" value="false"/>
 7         </bean>
 8         <!-- 定义触发时间 -->
 9         <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
10             <property name="jobDetail" ref="jobtask"/>
11             <!-- cron表达式 -->
12             <property name="cronExpression">
13                 <value>5,10,15,20,25,30,35,40,45,50,55 * * * * ?</value>
14             </property>
15         </bean>
16         <!-- 总管理类 如果将lazy-init=‘false‘那么容器启动就会执行调度程序  -->
17         <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
18             <property name="triggers">
19                 <list>
20                     <ref bean="doTime"/>
21                 </list>
22             </property>
23         </bean>
24     

其中:

targetObject为定义的定时方法所在的类

targetMethod为定时方法,在方法中可以写入定时执行的任务

concurrent控制并发,如果value为false则表示不会并发执行,下一个job会推迟到上一个job执行结束

定义触发时间:

这里是在5秒、10秒........执行任务

 

三:写具体的类和定时方法

 1 /**
 2  * @author Administrator 定时任务接口
 3  */
 4 @Service("quartzServiceImpl")
 5 public class QuartzServiceImpl implements QuartzService {
 6 
 7     /*
 8      * (non-Javadoc)
 9      * 
10      * @see com.paic.service.QuartzService#timeScan() 定时扫描
11      */
12     @Override
13     public void timeScan() {
14         /**
15          * 可以在这里写需要执行的任务
16          */
17         System.out.println("hello world!!!" + CommonUtil.getCurrSysTime());
18     }
19 
20 }

这样,在定时方法中即可写入要执行的任务。

 

spring整合quartz实现定时任务

标签:

原文地址:http://www.cnblogs.com/warrior4236/p/5371974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!