zoukankan      html  css  js  c++  java
  • Quartz简单案例

    需求需要开发一个每天定时推送消息给微信用户,第一次接触quartz,简单案例

    1. 先编辑要执行的任务

      测试类代码

    package com.wqq.test.quartz;
    
    import org.springframework.stereotype.Component;
    import com.wqq.assist.helper.DateHelper;
    /** 
    * @author wangqq 
    * @version 创建时间:2018年5月22日 下午2:11:44 
    * 日报表推送
    */
    @Component
    public class SendDailyReportTask {
    
        public void execute(){
          System.out.println("测试  "+DateHelper.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
        }
    }

    2. 配置quartz的配置文件

    在resource下面配两个文件

    这篇文章相信描述了quartz.properties里面各个参数的意思https://blog.csdn.net/yixiaoping/article/details/10476817,有兴趣可以看一下

    quartz.properties

    org.quartz.scheduler.instanceName=HomeScheduler
    org.quartz.threadPool.threadCount=3
    org.quartz.jobStore.class =org.quartz.simpl.RAMJobStore

    spring-quartz.xml

    <!-- 自己需要执行的类 -->
        <bean id="sendDailyReportTask" class="com.wqq.test.quartz.SendDailyReportTask"></bean>
        
        <!-- 配置任务 -->
         <bean id="sendDailyReportJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            
            <!-- 执行的类 -->
            <property name="targetObject">
                <ref bean="sendDailyReportTask" />
            </property>
            <!-- 类中的方法 -->
            <property name="targetMethod">
                <value>execute</value>
            </property>
        </bean>
         
         <!-- 指定触发器,以及执行时间 -->
        <bean id="sendDailyReportTrigger"
            class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
            <property name="jobDetail">
                <ref bean="sendDailyReportJob" />
            </property>
            <!-- 每隔一秒执行一次 -->
            <property name="cronExpression">
                 <value>* */1 * * * ?</value> 
            </property>
        </bean>
        
        
        <!-- ======================== 调度工厂 ======================== -->
        <bean id="SpringJobSchedulerFactoryBean"
            class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <!-- 添加触发器 -->
            <property name="triggers">
                <list>
                    <ref bean="sendDailyReportTrigger" />
    
                </list>
            </property>
            <property name="configLocation" value="classpath:quartz/quartz.properties"></property>
        </bean>

     3.在web.xml文件中添加quartz的配置文件

    <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:mybatis/*.xml,classpath:mongodb/spring-*.xml,classpath:quartz/spring-*.xml</param-value>
    </context-param>

    执行结果

  • 相关阅读:
    slf4j的简单用法以及与log4j的区别
    [转]Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)
    【转】IDEA 中配置文件properties文件中文乱码解决
    Python+Selenium练习篇之3-浏览器滚动条操作
    selenium操作下拉滚动条的几种方法
    python利用unittest进行测试用例执行的几种方式
    安装和使用 Python
    PM2实用入门指南
    linux清除缓存
    【centos6.6环境搭建】Github unable to access SSL connect error出错处理
  • 原文地址:https://www.cnblogs.com/Cassie-wang/p/9072050.html
Copyright © 2011-2022 走看看