quartz集成spring方法

zhongjcbill 2015-04-21

                     最近在做一个项目需要,定时更新缓存数据,所以就想到用quartz这个框架,在网上看了好多帖子,发现这个做法蛮不错,操作简单,使用方便。

1.java code

package cn.innosoft.jt809.util;

/**

 * TimingJob定时任务.

 * @author gaoq

 * @date 2015-4-13 上午11:09:47

 */

public class TimingJob {

public void work(){

             System.out.println("hello world");

}

}

2.xml配置

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>    

        <!-- 要调用的工作类 -->

        <bean id="quartzJob" class="cn.innosoft.jt809.util.TimingJob"></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.CronTriggerFactoryBean">

            <property name="jobDetail">

                <ref bean="jobtask"/>

            </property>

            <!-- cron表达式 -->

            <property name="cronExpression">

                <value>0 0 5 * * ?</value><!-- 每天凌晨5点执行一次 -->

            </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> 

相关推荐