集成spring和quartz
来源:互联网 发布:手机淘宝看自己的评价 编辑:程序博客网 时间:2024/06/05 18:19
quartz是个好东西,今天用的版本是quartz-1.7.3,最新的版本貌似是quartz-2.1.4
首先需要写一个工作类,继承自QuartzJobBean,这个类的作用类似于TimerTask
这里的executeInternal()就是会定时执行的方法
然后要写spring的配置文件:
上面分别定义了3个bean,是嵌套的关系
首先schedulerFactory这个bean,类型是org.springframework.scheduling.quartz.SchedulerFactoryBean,是作为一个总的调度,放在triggers列表中的触发器,就会被触发
然后myTimerTrigger这个bean,类型是org.springframework.scheduling.quartz.CronTriggerBean,是为每个定时任务设置触发时间,这样的bean会有多个,与定时任务是一一对应的
最后myTimerJob这个bean,类型是org.springframework.scheduling.quartz.JobDetailBean,也就是实际的TimerTask,这样的bean也会有多个,与Trigger是一一对应的
此外,介绍一下cronExpression的配置方法
例子里面是这样的:
这里配置了6个参数,实际上最多可以配7个,不过一般都是配6个
然后第1个的意思是秒,可以写0-59,也可以写*表示任意
第2个是分钟,和秒的配置一样
第3个是小时,可以写0-23,也可以用*表示任意
第4个是天,可以写1-31,可以用*表示任意,当与第6个参数互斥时,也可以写?表示不设置
第5个是月,可以是1-12,也可以写*
第6个是星期几,可以是1-7,也可以写*,当与第4个参数互斥时,也可以写?表示不设置
首先需要写一个工作类,继承自QuartzJobBean,这个类的作用类似于TimerTask
public class MyTimer extends QuartzJobBean {@Overrideprotected void executeInternal(JobExecutionContext context)throws JobExecutionException {System.out.println("gogo");}}
这里的executeInternal()就是会定时执行的方法
然后要写spring的配置文件:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="myTimerJob" class="org.springframework.scheduling.quartz.JobDetailBean"><property name="jobClass" value="xxx.xxx.xxx.MyTimer" /></bean><bean id="myTimerTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail" ref="myTimerJob" /><property name="cronExpression" value="1 * * * * ?" /></bean><bean id="schedulerFactory"class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref bean="myTimerTrigger" /></list></property></bean></beans>
上面分别定义了3个bean,是嵌套的关系
首先schedulerFactory这个bean,类型是org.springframework.scheduling.quartz.SchedulerFactoryBean,是作为一个总的调度,放在triggers列表中的触发器,就会被触发
然后myTimerTrigger这个bean,类型是org.springframework.scheduling.quartz.CronTriggerBean,是为每个定时任务设置触发时间,这样的bean会有多个,与定时任务是一一对应的
最后myTimerJob这个bean,类型是org.springframework.scheduling.quartz.JobDetailBean,也就是实际的TimerTask,这样的bean也会有多个,与Trigger是一一对应的
此外,介绍一下cronExpression的配置方法
例子里面是这样的:
<property name="cronExpression" value="1 * * * * ?" />
这里配置了6个参数,实际上最多可以配7个,不过一般都是配6个
然后第1个的意思是秒,可以写0-59,也可以写*表示任意
第2个是分钟,和秒的配置一样
第3个是小时,可以写0-23,也可以用*表示任意
第4个是天,可以写1-31,可以用*表示任意,当与第6个参数互斥时,也可以写?表示不设置
第5个是月,可以是1-12,也可以写*
第6个是星期几,可以是1-7,也可以写*,当与第4个参数互斥时,也可以写?表示不设置
- 集成spring和quartz
- spring和quartz的集成
- spring集成Timer和quartz框架
- Java定时器quartz和spring集成
- Spring 3 - Quartz - 集成
- Spring集成Quartz
- spring 3.0集成 quartz
- spring集成quartz
- Spring集成Quartz
- Spring集成Quartz实战
- spring集成quartz
- spring集成 quartz
- Spring集成quartz
- Quartz集成Spring框架
- spring内集成quartz
- spring-boot集成Quartz
- Quartz+Spring集成配置
- spring集成quartz
- 版本管理6句话
- 数学公式+矩阵快速幂-2013 ACM/ICPC Asia Regional Changsha Online H 题
- 一次BUG定位的过程与总结
- SQLite与SQL差异问题
- 小读spring ioc源码(一)——整体介绍
- 集成spring和quartz
- svn的tag和branch的区别
- 升级包制作
- linux下临时增加PATH
- 第3批定制需求开发中,教训总结
- 小读spring ioc源码(二)——ContextLoaderListener
- 小读spring ioc源码(三)——XmlWebApplicationContext初始化的整体过程
- 使用 Java 配置进行 Spring bean 管理
- 主管一席话引发的思考