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

第一步:导入相关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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值