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>

执行结果

猜你喜欢

转载自www.cnblogs.com/Cassie-wang/p/9072050.html