zoukankan      html  css  js  c++  java
  • quartz简单demo,教你最快使用quartz

    demo简介:

    这是个简单quartz实例,主要quart配置集成spring,功能为每20秒输出一句内容!
    效果如下:
    2017-01-05 14:04:00,044  INFO (com.bbtree.project.demo.TaskDemo.java:13):dddd
    日志输出
    定时任务测试
    2017-01-05 14:04:20,001  INFO (com.bbtree.project.demo.TaskDemo.java:13):dddd
    日志输出
    定时任务测试
    2017-01-05 14:04:40,002  INFO (com.bbtree.project.demo.TaskDemo.java:13):dddd
    日志输出
    定时任务测试
    2017-01-05 14:05:00,001  INFO (com.bbtree.project.demo.TaskDemo.java:13):dddd
    日志输出
    定时任务测试
    2017-01-05 14:05:20,002  INFO (com.bbtree.project.demo.TaskDemo.java:13):dddd
    日志输出
    定时任务测试
    2017-01-05 14:05:40,002  INFO (com.bbtree.project.demo.TaskDemo.java:13):dddd
    日志输出
    定时任务测试
    2017-01-05 14:06:00,002  INFO (com.bbtree.project.demo.TaskDemo.java:13):dddd
    日志输出
    定时任务测试
    2017-01-05 14:06:20,000  INFO (com.bbtree.project.demo.TaskDemo.java:13):dddd
    日志输出
    定时任务测试
     
    demo实例类:
    package com.bbtree.project.demo;

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;

    /**
    * Created by Administrator on 2017/1/5.
    */
    public class TaskDemo {
    private static final Logger LOGGER= LoggerFactory.getLogger(TaskDemo.class);

    public void doTask(){
    LOGGER.info("dddd");
    System.out.println("日志输出");
    System.out.println("定时任务测试");
    }
    }
     
    集成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:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--注册定时器-->
    <bean id="demoTimer"
    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <!--必须配置quartz延迟启动,在应用启动后起动,延迟20秒-->
    <property name="startupDelay" value="20"/>
    <!--普通触发器,触发器列表-->
    <property name="triggers">
    <list>
    <ref bean="taskDemoTrigger"/>
    </list>
    </property>
    </bean>
    <!--CronTrigger配置-->
    <bean id="taskDemoTrigger"
    class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <!--定时任务详细方法类-->
    <property name="jobDetail" ref="taskDemoJobDetail"/>
    <!--cron表达式-->
    <property name="cronExpression">
    <value>0/20 * * ? * *</value>
    </property>
    </bean>
    <!--制定定时任务细节 调用哪个类 哪个方法-->
    <bean id="taskDemoJobDetail"
    class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject">
    <ref bean="taskDemo"/>
    </property>
    <property name="targetMethod">
    <value>doTask</value>
    </property>
    <property name="concurrent" value="false"/>
    </bean>
    <!--定时任务的类-->
    <bean id="taskDemo" class="com.bbtree.project.demo.TaskDemo"/>
    <!--扫描项目包-->
    <context:component-scan base-package="com.bbtree.project"/>
    </beans>
    注意事项:
    1、配置文件applicationContext-scheduler.xml必须配置到applicationContext.xml里,才能进行扫描
    <!-- 导入分割的spring配置文件 -->
    <import resource="applicationContext-beans.xml"/>
    <import resource="applicationContext-datasource.xml"/>
    <import resource="applicationContext-cache.xml"/>
    <import resource="applicationContext-scheduler.xml"/>
    对应的applicationContext.xml必须在/WEB-INF/web.xml里配置
    <!-- Spring上下文配置 -->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring/applicationContext.xml</param-value>
    </context-param>

     到此恭喜你已成功完成一个quartz的demo实例!

  • 相关阅读:
    [CF1342D] Multiple Testcases
    [CF448D] Multiplication Table
    [CF459C] Pashmak and Buses
    [CF766E] Mahmoud and a xor trip
    [CF35E] Parade
    [CF15C] Industrial Nim
    [CF9D] How many trees?
    [CF19B] Checkout Assistant
    [CF22D] Segments
    [CF21D] Traveling Graph
  • 原文地址:https://www.cnblogs.com/chenxqNo01/p/6370497.html
Copyright © 2011-2022 走看看