Spring定时器简单使用

第一步:写自己要定时执行的类及方法

package com.info.target;
public class Target1 {
    public void targetMethod1() {
       System.out.println("10秒执行一次target1对象的targetMethod1方法!");
    }
}
package com.info.target;
public class Target2 {
    public void targetMethod2() {
       System.out.println("20秒执行一次target2对象的targetMethod2方法!");
    }
}

第二步:配置applicationContext.xml

<!-- 定时器 -->
    <bean id="target1" class="com.info.target.Target1" />
    <bean id="target2" class="com.info.target.Target2" />

    <bean id="jobDetail_1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
       <property name="targetObject">
           <ref bean="target1"/>
       </property>
       <property name="targetMethod">
           <value>targetMethod1</value>
       </property>
    </bean>

    <bean id="jobDetail_2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
       <property name="targetObject">
           <ref bean="target2"/>
       </property>
       <property name="targetMethod">
           <value>targetMethod2</value>
       </property>
    </bean>

    <bean id="cronTrigger_1"  class="org.springframework.scheduling.quartz.CronTriggerBean">
       <property name="jobDetail">
           <ref bean="jobDetail_1" />
       </property>
       <property name="cronExpression">
           <value>0/10 * * * * ?</value>
       </property>
    </bean>

    <bean id="cronTrigger_2" class="org.springframework.scheduling.quartz.CronTriggerBean">
       <property name="jobDetail">
           <ref bean="jobDetail_2" />
       </property>
       <property name="cronExpression">
           <value>0/20 * * * * ?</value>
       </property>
    </bean>

    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
       <property name="triggers">
           <list>
              <ref local="cronTrigger_1" />
              <ref local="cronTrigger_2" />
           </list>
       </property>
    </bean>

补充:

配置时间项说明,其共有六部分组成,格式如下(从左到右依次是)

0-59

可用符号:,  *  /  -

0-59

可用符号:,  *  /  -

小时

0-23

可用符号:,  *  /  -

每月第几天

1-31

可用符号:,  *  /  -  ?

1-12或者JAN-DEC

可用符号:,  *  /  -

每周第几天

1-7或者SUN-SAT

可用符号:,  *  /  -  ?

1970-2099

可用符号:,  *  /  -  ?

注:

【,】 :表示“和”

【*】 :表示“每”

【/】 :表示“到”

【-】 :表示“至”

【?】 :表示“缺省”

posted @ 2012-10-07 23:50  行在途中  阅读(252)  评论(0编辑  收藏  举报