• 定时任务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");
         
         }
    }
  • 相关阅读:
    经典线程同步总结 关键段 事件 互斥量 信号量
    寄存器与缓存的区别
    自动变量
    进程的阻塞和挂起的区别
    经典线程同步 信号量Semaphore
    热门智力题 过桥问题和倒水问题
    经典线程同步 互斥量Mutex
    解决面试题的思路
    java.util.LinkedHashMap cannot be cast to
    E11000 duplicate key error index
  • 原文地址:https://www.cnblogs.com/currystar/p/6704631.html
Copyright © 2020-2023  润新知