Spring3的quartz定时任务

要使用定时任务,需要将quartz-1.5.2.jar加入lib,没有的话可以从下面地址下载:

quartz-1.5.2.jar

有了这个再做个配置文件appctx-quartz.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    <bean id="schedulerFactory"    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref local="cronTriggerTest" />
            </list>
        </property>
    </bean> 
    
    <bean id="cronTriggerTest" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobTest" />
        <property name="cronExpression">
                <value>0 17 21 ? * SAT</value> <!-- FORMAT:second minute hour ? * Weekday -->
        </property>
    </bean>    
    
    <bean id="jobTest"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="claimScheduler" />
        <property name="targetMethod" value="print" />
    </bean>
    
    <bean id="claimScheduler" class="com.ufo.unknown.quartz.Test">
    </bean>
</beans>

被调用的类如下:

package com.ufo.unknown.quartz;


public class Test{
    public void print(){
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
    }
}

然后在周六的21点17分0秒,Test类的print函数就被调用了,控制台输出如下:

DEBUG (JobRunShell.java:202) - Calling execute on job DEFAULT.jobTest
DEBUG (CachedIntrospectionResults.java:222) - Getting BeanInfo for class [org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob]
DEBUG (CachedIntrospectionResults.java:238) - Caching PropertyDescriptors for class [org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob]
DEBUG (CachedIntrospectionResults.java:250) - Found bean property 'class' of type [java.lang.Class]
DEBUG (CachedIntrospectionResults.java:250) - Found bean property 'methodInvoker' of type [org.springframework.util.MethodInvoker]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
原文地址:https://www.cnblogs.com/heyang78/p/4132046.html