quartz是个好东西,今天用的版本是quartz-1.7.3,最新的版本貌似是quartz-2.1.4
首先需要写一个工作类,继承自QuartzJobBean,这个类的作用类似于TimerTask
public class MyTimer extends QuartzJobBean {
@Override
protected 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的集成,quartz是单独的包,java线程的方式运行,利用自定义Jobfactory来解决spring注入service空指针的问题,简单实例执行main方法即可,很实用
spring 集成quartz定时任务 用数据库实现quartz的集群
spring+quartz demo,下载后即可运行,很强大哦....
该demo集成spring和quartz, 可以定时执行任务, 支持corn表达式
该demo集成spring和quartz, 可以定时执行任务, 支持corn表达式
该demo集成spring和quartz, 可以定时执行任务, 支持corn表达式
spring和quartz1.x及quartz2.x集成,具体见博客
该demo集成spring和quartz, 可以定时执行任务, 支持corn表达式, 并持久化数据库
spring集成quartz使用需要的jar包下载。
spring集成quartz支持的扩展jar包,spring版本4.0.3
NULL 博文链接:https://vista-move.iteye.com/blog/2274246
Spring集成Quartz的代码示例,可轻松实现可配置JAVA定时任务。
针对于spring集成quartz配置进行详细说明,并提供部分简单示例说明配置。
该demo集成spring和quartz, 可以定时执行任务, 支持corn表达式
spring2.0 使用 Quartz 必备包 里面有: quartz-all-1.5.2.jar spring-support.jar 适合:SSH框架 spring2.0 strut2.0 hibernate3.2等
好像很多人整合出现了问题,所以抽个demo出来 是一个demo包含源码和lib 在tomcat下可以执行
1,如果只是集成spring和quartz,则只需要jar包,和编写配置文件,即可。 2,如果考虑集群部署,会用到tables_mysql.sql。
Spring集成的Quartz例子
Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考http://www.blogjava.net/baoyaer/articles/155645.html 博客信息 看此代码,项目里分为两大块,com文件夹下 为上面博客相关学习...
主要讲解了 Spring与QuartZ集成定时器的用法,和一下简单的入门例子