Spring Quartz定时器的配置和使用

  • A+
所属分类:Java 架构

1、先在Spring初始化Web.xml中的定时任务(在大部分项目中已经配置了);

  1. <!-- web中配置配置文件地址和类加载监听器 -->
  2. <context-param>
  3.     <param-name>contextConfigLocation</param-name>
  4.     <param-value>classpath:spring-application-quartz.xml</param-value>
  5. </context-param>
  6. <listener>
  7.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  8. </listener>

Spring Quartz定时器的配置和使用

2、配置定时器配置文件(文件名定义为:spring-application-quartz.xml);

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.     xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  4.     xmlns:flex="http://www.springframework.org/schema/flex" xmlns:jee="http://www.springframework.org/schema/jee"
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans
  6.     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  7.     http://www.springframework.org/schema/context
  8.     http://www.springframework.org/schema/context/spring-context-3.0.xsd
  9.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  10.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  11.     http://www.springframework.org/schema/flex    http://www.springframework.org/schema/flex/spring-flex-1.0.xsd
  12.     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd">
  13.     <!-- 要调度的对象 可以是任何的类,包括hibernate spring 配置的类-->
  14.     <bean id="moaJob" class="com.boyuan.eserver.autotask.KtMoaDataTask" />
  15.     <!--定义定时执行testQuarz 这个bean中的sayHello()方法-->
  16.     <bean id="moaTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  17.         <property name="targetObject">
  18.             <ref bean="moaJob" />
  19.         </property>
  20.         <property name="targetMethod">
  21.             <value>doJob</value>
  22.         </property>
  23.     </bean>
  24.     <!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。-->
  25.     <!-- 这里我们定义了要触发的jobDetail是helloworldTask,即触发器去触发哪个bean..并且我们还定义了触发的时间:每天10:15 am -->
  26.     <bean id="moaTrigger" name="DBTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  27.         <property name="jobDetail">
  28.             <ref bean="moaTask" />
  29.         </property>
  30.         <property name="cronExpression">
  31.             <!-- 关键在配置此表达式 -->
  32.             <!-- 每分钟执行:0 * * ? * * -->
  33.             <value>00 00 23 * * ?</value>
  34.         </property>
  35.     </bean>
  36.     <!--管理触发器的总设置,管理我们的触发器列表,可以在bean的list中放置多个触发器。-->
  37.     <bean id="scheduler" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  38.         <property name="triggers">
  39.             <list>
  40.                 <ref local="moaTrigger"/>
  41.             </list>
  42.         </property>
  43.     </bean>
  44. </beans>

本文来源:网络收集

发表评论

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen: