欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Quartz定时器

程序员文章站 2022-06-06 23:30:33
...
Spring Quartz定时器
分类: Java 2011-07-12 14:49 1085人阅读 评论(0) 收藏 举报
quartzspringencodingbean任务调度cron

需要jar:

quartz-all-1.5.2.jar  下载http://download.csdn.net/source/1026766
spring.jar  下载http://download.csdn.net/source/1041819

http://blog.csdn.net/cezorzhao/article/details/8128968
http://blog.csdn.net/will_awoke/article/details/6274148

QuartzJob.java
[java] view plaincopy

    package Test; 
     
    public class QuartzJob { 
         
        public void work() { 
            System.out.println("Quartz的任务调度!"); 
            //LoadXML.loadXml(); Do something 
        } 
    } 



applicationContext_quartz.xml
[html] view plaincopy

    <?xml version="1.0" encoding="UTF-8"?> 
    <beans xmlns="http://www.springframework.org/schema/beans" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:jee="http://www.springframework.org/schema/jee" 
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"> 
     
        <!-- 要调用的工作类 --> 
        <bean id="quartzJob" class="org.huajun.utils.QuartzJob"></bean> 
        <!-- 定义调用对象和调用对象的方法 --> 
        <bean id="jobtask" 
            class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
            <!-- 调用的类 --> 
            <property name="targetObject"> 
                <ref bean="quartzJob" /> 
            </property> 
            <!-- 调用类中的方法 --> 
            <property name="targetMethod"> 
                <value>work</value> 
            </property> 
        </bean> 
        <!-- 定义触发时间 --> 
        <bean id="doTime" 
            class="org.springframework.scheduling.quartz.CronTriggerBean"> 
            <property name="jobDetail"> 
                <ref bean="jobtask" /> 
            </property> 
            <!-- cron表达式 --> 
            <property name="cronExpression"> 
                <!-- 第 10、30 、50 分钟各执行一次--> 
                <value>0 10/20 * * * ?</value> 
            </property> 
        </bean> 
        <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> 
        <bean id="startQuertz" lazy-init="false" autowire="no" 
            class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
            <property name="triggers"> 
                <list> 
                    <ref bean="doTime" /> 
                </list> 
            </property> 
        </bean> 
     
    </beans> 


关于cron表达式请参见我的上一篇文章:http://blog.csdn.net/liuyuhua0066/article/details/6274148



web.xml
[html] view plaincopy

    <?xml version="1.0" encoding="UTF-8"?> 
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
     
        <!-- 加载spring --> 
        <context-param> 
            <param-name>contextConfigLocation</param-name> 
            <param-value> 
                /WEB-INF/classes/applicationContext*.xml 
            </param-value> 
        </context-param> 
        <servlet> 
            <servlet-name>context</servlet-name> 
            <servlet-class> 
                org.springframework.web.context.ContextLoaderServlet 
            </servlet-class> 
            <load-on-startup>1</load-on-startup> 
        </servlet> 
     
        <welcome-file-list> 
            <welcome-file>index.html</welcome-file> 
        </welcome-file-list> 
    </web-app>