当前位置:编程学习 > JAVA >>

Spring中Quartz的配置

Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz:

首先我们来写一个被调度的类:


[html]  package com.yhcz.quartz; 
public class QuartzJob 

    public void work() 
    { 
         System.out.println("Quartz的任务调度!!!"); 
    } 

package com.yhcz.quartz;
public class QuartzJob
{
    public void work()
    {
         System.out.println("Quartz的任务调度!!!");
    }
}
Spring的配置文件:


[html]
<beans>     
        <!-- 要调用的工作类 --> 
        <bean id="quartzJob" class="com.yhcz.quartz.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"> 
                <value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value> 
            </property> 
        </bean> 
        <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序  --> 
        <bean id="startQuartz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
            <property name="triggers"> 
                <list> 
                    <ref bean="doTime"/> 
                </list> 
            </property> 
        </bean> 
     
</beans> 

<beans>   
        <!-- 要调用的工作类 -->
        <bean id="quartzJob" class="com.yhcz.quartz.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">
                <value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value>
            </property>
        </bean>
        <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序  -->
        <bean id="startQuartz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <property name="triggers">
                <list>
                    <

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,