定时任务quartz(与spring整合)

一、配置:
 
<?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:p="http://www.springframework.org/schema/p"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
     <!-- 配置Job的bean -->
     <bean id="myJob" class="com.dadi.MyJob" />
     <!-- 配置jobDetail -->
     <bean id="myJobDetail"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
          <!-- 用到的Job实例 -->
          <!--targetObject: 目标对象,即需要定时执行的POJO -->
          <property name="targetObject">
              <ref bean="myJob" />
          </property>
          <!-- Job实例中的方法 -->
          <!-- 目标方法,即需要定时执行的POJO方法 -->
          <property name="targetMethod">
              <value>run</value>
          </property>
     </bean>
     <!-- 配置触发器Trigger -->
     <bean id="myTrigger"
          class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
          <property name="name" value="work_default_name" />
          <property name="group" value="work_default" />
          <!--jobDetail: 任务详情,即所需要调度的任务 -->
          <property name="jobDetail">
              <ref bean="myJobDetail" />
          </property>
          <!--cronExpression: 调用规则,即什么时候调用。 -->
          <property name="cronExpression">
              <!-- 每5秒执行一次 -->
              <value>0/5 * * * * ?</value>
          </property>
     </bean>
     <!-- 配置scheduler工厂 -->
     <bean id="scheduler"
          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
          <!--triggers: 触发器,调用哪些任务 -->
          <property name="triggers">
              <list>
                   <ref bean="myTrigger" />
              </list>
          </property>
     </bean>
</beans>
 
二、创建要执行的对象(类)
/**
 * @author zhang.cheng
 *
 *         2017年3月27日
 */
public class MyJob {
     public void run() {
          System.out.println(
                   "Hello Spring with Quartz  " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(new Date()));
     }
}
 
三、测试
 
/**
 * @author zhang.cheng
 *
 * 2017年3月27日
 */
public class TestQuartz {
     public static void main(String[] args) {   
          ApplicationContext context=new ClassPathXmlApplicationContext("springmvc-console.xml");
     
     }
}
posted @ 2017-04-13 16:37  currystar  阅读(148)  评论(0编辑  收藏  举报