首页 > 网站 > 帮助中心 > 正文

spring整合Quartz框架过程详解

2024-07-09 22:42:37
字体:
来源:转载
供稿:网友

这篇文章主要介绍了spring整合Quartz框架过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.Quartz框架简介

Quartz是一个完全由Java编写的开源任务调度的框架,通过触发器设置作业定时运行规则,控制作业的运行时间。其中quartz集群通过故障切换和负载平衡的功能,能给调度器带来高可用性和伸缩性。主要用来执行定时任务,如:定时发送信息、定时生成报表等等。

Quartz框架的主要特点:

・ 强大的调度功能,例如丰富多样的调度方法,可以满足各种常规和特殊需求; ・ 灵活的应用方式,比如支持任务调度和任务的多种组合,支持数据的多种存储; ・ 支持分布式集群,在被Terracotta收购之后,在原来基础上进行了进一步的改造。

2.Quartz框架的使用

2.1搭建环境

<!--定时任务 --><dependency>  <groupId>org.quartz-scheduler</groupId>  <artifactId>quartz</artifactId>  <version>2.2.3</version></dependency>2.2 配置任务

2.2 配置任务类

package cn.test.manager.job;import java.util.Date;public class MyJob {  public void run() {    System.out.println("执行任务调度:"+new Date());  }}

2.3 整合Spring

<!-- 定义一个任务类 到达时间执行的方法的所在类--><bean  class="cn.test.manager.job.MyJob"></bean><!-- 任务类描述 --><bean  class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  <!--将任务类交给工厂-->  <property name="targetObject" ref="myJob"></property>  <!--将时间到达执行的方法交给工厂-->  <property name="targetMethod" value="run"></property></bean><!-- 触发器 --><bean  class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">  <!--将任务类描述交给触发器--> <property name="jobDetail" ref="jobDetail"></property> <!--Cron表达式,定时规则-->  <property name="cronExpression" value="0/5 * * * * ? *"></property></bean><!-- 总管理容器 --><bean  class="org.springframework.scheduling.quartz.SchedulerFactoryBean" >  <property name="triggers">   <list>     <ref bean="mailTrigger"/>   </list>  </property></bean>

3.Cron表达式

对于Quartz,我们使用的时候主要是注重两个方面,一个是定时任务的业务,另一个就是Cron表达式。

3.1cron表达式的格式

QuartzCron 表达式支持到七个域

名称 是否必须 允许值 特殊字符
0-59 , - * /
0-59 , - * /
0-23 , - * /
1-31 , - * ? / L W C
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表