Spring配置Quartz实现定时调度任务

下面是个人使用quartz时进行配置的:

需要导入的jar包:

Spring配置Quartz实现定时调度任务

web.xml   中加载spring-quartz.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>tkbsTomlr</display-name>
  
      
    <!-- spring mvc 配置 -->  
    <servlet>  
        <servlet-name>webmvc</servlet-name>  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
        <!-- 启动项目的时候要加载的配置文件 -->  
        <init-param>    
            <param-name>contextConfigLocation</param-name>    
            <param-value>classpath:spring-mvc.xml</param-value>  
        </init-param>    
        <load-on-startup>1</load-on-startup>    
    </servlet>  
    <servlet-mapping>  
        <servlet-name>webmvc</servlet-name>  
        <url-pattern>/</url-pattern>  
    </servlet-mapping>  
      
    <!-- 2.spring配置 :配置ContextLoaderListener表示,该工程要以spring的方式启动.启动时会默认在/WEB-INF目录下查找applicationContext.xml  
作为spring容器的配置文件,该文件里可以初始化一些bean-->  
    <listener>  
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
    </listener>  
      
    <!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->  
    <context-param>  
        <param-name>contextConfigLocation</param-name>  
        <param-value>
            classpath:applicationContext.xml
            classpath:spring-quartz.xml
        </param-value>  
    </context-param>  
      
    <!-- 字符集过滤器 -->    
    <filter>  
        <filter-name>encodingFilter</filter-name>  
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
        <init-param>  
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>encodingFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping> 
</web-app>
spring-quartz.xml

<?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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="  
        http://www.springframework.org/schema/aop   
        http://www.springframework.org/schema/aop/spring-aop.xsd  
        http://www.springframework.org/schema/beans   
        http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://www.springframework.org/schema/tx   
        http://www.springframework.org/schema/tx/spring-tx.xsd  
        http://www.springframework.org/schema/context   
        http://www.springframework.org/schema/context/spring-context.xsd
        "
    default-autowire="byType">
<!-- ======================== 任务 Task配置 ======================== --> 
<!--由MethodInvokingJobDetailFactoryBean实现-->
    <bean id="ImportTkbsData" class="com.rainier.tkbsTomlr.task.ImportTkbsData"/>
   <bean id="importTkbsDataJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="ImportTkbsData" />          <!-- 执行类的实例 -->
        <property name="targetMethod" value="run" />                   <!-- 执行方法 -->
        <property name="concurrent" value="false" />
        <property name="arguments">
            <list></list>
        </property>
    </bean> 

<!-- ======================== 配置定时调度 触发器 ======================== -->
<!--由CronTriggerFactoryBean实现-->
   <bean id="cronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 
        <property name="jobDetail" ref="importTkbsDataJob" />                 <!-- 上面任务的Task配置bean -->
        <property name="cronExpression" value="0/5 * * * * ?" />            <!--  触发时机表达式  cron表达式在文章的最末尾会说 -->
    </bean> 
 <!-- ======================== 调度工厂(中心调度器) ======================== -->
     <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"
        autowire="no">
        <property name="triggers">
            <list>
                <ref bean="cronTrigger2" />                          <!-- 上面配置的触发器 -->
            </list>
        </property>
    </bean> 
</beans>

Spring配置Quartz实现定时调度任务

Spring配置Quartz实现定时调度任务

 

importTkbsData类

Spring配置Quartz实现定时调度任务

此上!