博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring-----定时任务Quartz配置
阅读量:5109 次
发布时间:2019-06-13

本文共 1947 字,大约阅读时间需要 6 分钟。

第一种,作业类继承自特定的基类:org.springframework.scheduling.quartz.QuartzJobBean。

第一步:定义作业类

 

1 import org.quartz.JobExecutionContext;   2 import org.quartz.JobExecutionException;   3 import org.springframework.scheduling.quartz.QuartzJobBean;   4 public class Job1 extends QuartzJobBean {   5    6 private int timeout;   7 private static int i = 0;   8 //调度工厂实例化后,经过timeout时间开始执行调度   9 public void setTimeout(int timeout) {  10 this.timeout = timeout;  11 }  12   13 /** 14 * 要调度的具体任务 15 */  16 @Override  17 protected void executeInternal(JobExecutionContext context)  18 throws JobExecutionException {  19   System.out.println("定时任务执行中…");  20 }  21 }

 

 第二步:spring配置文件中配置作业类JobDetailBean

Xml代码 

 

 说明:org.springframework.scheduling.quartz.JobDetailBean有两个属性,jobClass属性即我们在java代码中定义的任务类,jobDataAsMap属性即该任务类中需要注入的属性值。

第三步:配置作业调度的触发方式(触发器)

Quartz的作业触发器有两种,分别是

org.springframework.scheduling.quartz.SimpleTriggerBean

org.springframework.scheduling.quartz.CronTriggerBean

第一种SimpleTriggerBean,只支持按照一定频度调用任务,如每隔30分钟运行一次。

配置方式如下:

 

Xml代码  
  1. <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">  
  2. <property name="jobDetail" ref="job1" />  
  3. <property name="startDelay" value="0" /><!-- 调度工厂实例化后,经过0秒开始执行调度 -->  
  4. <property name="repeatInterval" value="2000" /><!-- 每2秒调度一次 -->  
  5. </bean>  

第二种CronTriggerBean,支持到指定时间运行一次,如每天12:00运行一次等。

配置方式如下:

Xml代码  
  1. <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">  
  2. <property name="jobDetail" ref="job1" />  
  3. <!—每天12:00运行一次 -->  
  4. <property name="cronExpression" value="0 0 12 * * ?" />  
  5. </bean>  

 关于cronExpression表达式的语法参见附录。

第四步:配置调度工厂 

Xml代码  
  1. <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  
  2. <property name="triggers">  
  3. <list>  
  4. <ref bean="cronTrigger" />  
  5. </list>  
  6. </property>  
  7. </bean>  

 说明:该参数指定的就是之前配置的触发器的名字。

第五步:启动你的应用即可,即将工程部署至tomcat或其他容器。

转载于:https://www.cnblogs.com/GotoJava/p/6093445.html

你可能感兴趣的文章
99乘法表
查看>>
NSRegularExpression iOS自带的正则表达式
查看>>
vue-cli3快速创建项目
查看>>
Android中pendingIntent的深入理解
查看>>
修改配置Solr连接数据库配置
查看>>
使用Windows系统的几个好的习惯
查看>>
实验十九 SCVMM中Hyper-v群集的管理和维护
查看>>
zju——Simple Task
查看>>
AOP概念
查看>>
在ROS系统下,获取tango的RGBD信息和Pose信息
查看>>
Django2第一个工程
查看>>
(转)浅析值类型与引用类型的内存分配
查看>>
Binary Search--二分查找
查看>>
jsp注释<%-- --%>和<!-- -->的区别
查看>>
JS 数字 、中文、 英文、判断
查看>>
数论---快速幂取模
查看>>
你知道hover、active这四个伪类为什么要按顺序写吗
查看>>
CSS中的伪类和伪元素回顾
查看>>
Algorithm,DS,2-3-4 tree
查看>>
English,The Da Vinci Code,Chapter 8
查看>>