参考 org.springframework.scheduling

解决方案 »

  1.   

    贴一段代码,摘自spring2.0-reference_final_zh_cn.chm,下载地址网上有很多第 23 章 Spring中的定时调度(Scheduling)和线程池(Thread Pooling)
    目录23.1. 简介 
    23.2. 使用OpenSymphony Quartz 调度器 
    23.2.1. 使用JobDetailBean 
    23.2.2. 使用 MethodInvokingJobDetailFactoryBean 
    23.2.3. 使用triggers和SchedulerFactoryBean来包装任务 
    23.3. 使用JDK Timer支持类 
    23.3.1. 创建定制的timers 
    23.3.2. 使用 MethodInvokingTimerTaskFactoryBean类 
    23.3.3. 打包:使用TimerFactoryBean来设置任务 
    23.4. SpringTaskExecutor抽象 
    23.4.1. TaskExecutor接口 
    23.4.2. 何时使用TaskExecutor接口 
    23.4.3. TaskExecutor类型 
    23.4.4. 使用TaskExecutor接口 
    23.1. 简介
    Spring包含了对定时调度服务的内置支持类。当前,Spring支持从JDK1.3开始内置的Timer类和Quartz Scheduler(http://www.opensymphony.com/quartz/)。二者都可以通过FactoryBean,分别指向Timer或Trigger实例的引用进行配置。更进一步,有个对Quartz Scheduler和Timer都有效的工具类可以让你调用某个目标对象的方法(类似通常的MethodInvokingFactoryBean操作)。Spring 还包含有用于线程池调度的类,它针对Java 1.3,1.4,5和JEE环境的差异都进行了抽象。 
      

  2.   

    <!-- 设置ClassplanAction中的updateChangelogFlag方法每隔' ? '分钟调用一次 -->
    <bean id="methodInvokingJobDetail"
    class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject">
    <ref bean="classplanAction" /> //所要调用的类名
    </property>
    <property name="targetMethod">
    <value>updateChangelogFlag</value> //调用的方法
    </property>
    </bean> <bean id="simpleTrigger"
    class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    <property name="jobDetail">
    <ref bean="methodInvokingJobDetail" />
    </property>
    <property name="startDelay">
    <value>500</value>
    </property>
    <property name="repeatInterval">
    <value>300000</value>
    </property>
    </bean>
    <bean
    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
    <list>
    <ref local="simpleTrigger" />
    </list>
    </property>
    </bean>
    另外你去下个quartz-1.6.0.jar包