需求: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 >
 4             <property name="targetObject" ref="quartzServiceImpl"/>
 5             <property name="targetMethod" value="timeScan"/>
 6             <property name="concurrent" value="false"/>
 7         </bean>
 8         <!-- 定义触发时间 -->
 9         <bean >
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 >
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 }

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

 

相关文章:

  • 2022-12-23
  • 2021-08-27
  • 2021-12-10
  • 2021-08-29
  • 2022-12-23
猜你喜欢
  • 2021-08-03
  • 2021-11-08
  • 2021-08-08
  • 2022-02-22
  • 2022-12-23
  • 2021-10-06
  • 2022-12-23
相关资源
相似解决方案