当前位置 主页 > 服务器问题 > Linux/apache问题 >
这篇文章主要介绍了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 表达式支持到七个域