spring quartz定时器的简单配置和使用

来源:互联网 发布:徐州华道数据公司图片 编辑:程序博客网 时间:2024/04/29 03:54

第一步:导入相关jar包


(注:单单是在后台执行需要的jar包,若是经过tomcat执行,需额外添加一个jar包——jta-1.1.jar)


不同版本需要依赖的jar:


quartz-all-1.6.0.jar版本需要的jar包:



         commons-collections-3.2.jar
         commons-logging-1.1.1.jar
         log4j-1.2.16.jar
         spring.jar(spring的所有jar包)


 quartz-1.8.6.jar版本需要的jar包:


         commons-collections-3.2.jar
         commons-logging-1.1.1.jar
         log4j-1.2.16.jar
         quartz-1.8.6.jar
         slf4j-api-1.6.1.jar
         slf4j-log4j12-1.6.1.jar

         spring.jar(spring的所有jar包)


第二步: 新建立一个业务bean-->com.cmge.ad.cpInterfaceModule.dbservice.QuartzService


package com.cmge.ad.cpInterfaceModule.dbservice;public class QuartzService {public void execute(){System.out.println("我是定时任务执行!!!");}}



第三步:在Spring配置文件beans.xml做如下配置

<!-- 第一步: 配置好要定时调用的业务类 -->     <bean id="quartzService" class="com.cmge.ad.cpInterfaceModule.dbservice.QuartzService" /><!-- 第二步: 定义好具体要使用类的哪一个业务方法 -->    <bean id="printTimerJob"          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">     <!-- 目标bean -->        <property name="targetObject" ref="quartzService" />   <!-- 要执行目标bean的哪一个业务方法 -->          <property name="targetMethod" value="execute" />          <!-- 是否并发 -->           <property name="concurrent" value="false"/>     </bean>    <!-- 第三步: 定义好调用模式: 如每隔2秒钟调用一次或每天的哪个时间调用一次等 -->     <bean id="printTimerTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">          <property name="jobDetail" ref="printTimerJob" />          <property name="cronExpression" value="0/3 * * * * ?" />      </bean>     <!-- 启动定时器 -->    <!--第四步 把定义好的任务放到调度(Scheduler)工厂里面,注意这里的ref bean -->      <bean id="schedulerFactoryBean"          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">          <property name="applicationContextSchedulerContextKey" value="applicationContext"/>          <property name="triggers">              <list>                  <ref bean="printTimerTrigger" />              </list>          </property>      </bean>
spring的定时器配置完成!


相关介绍:


在xml里配置值得关注的是<property name="cronExpression" value="0/1 * * * * ? "/>表示每隔一秒钟执行一次,例子如下:
0 0 10,14,16 * * 每天上午10点,下午2点和下午4点
0 0,15,30,45 * 1-10 * 每月前10天每隔15分钟
30 0 0 1 1 2012 在2012年1月1日午夜过30秒时
0 0 8-5 * MON-FRI 每个工作日的工作时间
- 区间
* 通配符  你不想设置那个字段


 cronExpression的介绍:   
        按顺序 <value> 秒 分 小时 日期 月份 星期 年<value>   
        字段      允许值                 允许的特殊字符  
        秒           0-59                , - * /   
        分           0-59                , - * /   
        小时          0-23                , - * /   
        日期      1-31                , - * ? / L W C  
        月份      1-12 或者 JAN-DEC     , - * /   
        星期          1-7 或者 SUN-SAT      , - * ? / L C #   
        年       (可选)留空,1970-2099    , - * /   
        “*”字符被用来指定所有的值。如:”*“在分钟的字段域里表示“每分钟”。  



0 0
原创粉丝点击