这篇文章主要介绍了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 |
月
学习交流
热门图片
猜你喜欢的新闻
新闻热点 2024-06-26 22:28:41
2024-06-26 22:26:16
2024-06-26 22:23:01
2024-06-25 19:29:23
2024-06-25 19:22:14
2024-06-25 19:19:15
疑难解答 |