一、定时执行的类

public class AppMain {
    
    public void work(){
        //定时执行此方法
    }

}

 

 

二、Spring配置Quartz

<?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="classExe" class="com.test.AppMain"></bean>
     
     <!-- 定义调用对象和调用对象的方法 -->
     <bean id="testTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
         <!-- 指向工作类的bean id -->
         <property name="targetObject">
             <ref bean="classExe"/>
         </property>
         <!-- 调用工作类中的方法 -->
         <property name="targetMethod">
             <value>work</value>
         </property>
     </bean>
     
     <!-- 定义触发时间,在8-20点,每分钟执行一次 -->
     <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
         <property name="jobDetail">
             <ref bean="testTask"/>
         </property>
         <!-- cron表达式 -->
         <property name="cronExpression">
             <value>0 0/1 8-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>
         <property name="startupDelay" value="0"/>
     </bean>
</beans>

 

 

参考:

http://www.cnblogs.com/baizhanshi/p/5694900.html

 posted on 2018-02-12 15:07  布鲁布鲁sky  阅读(256)  评论(0编辑  收藏  举报