`
85977328
  • 浏览: 1871761 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

quartz系列(一)spring3.2.5与quartz1.8.6单机版集成详细说明

阅读更多
一 前言
    公司业务需要,开发超时提醒的功能.因此笔者将spring3.0.5与quartz1.8.4集成使用的思路给记录了下来。quartz最经典的地方应该就是他的cronTrigger,可以灵活的配置作业的调度.spring与quartz集成的目的就是为了让我们用quartz更加的简单方便,而不是为了取代丰富且强大的quartz.集成之后的效果,能满足80%以上的开发者要求.

二环境(javaSE项目)
jdk1.6.0.45
eclipse3.7.2_javaee
spring3.2.5
quartz1.8.6


三 包
1)日志管理
commons-logging-1.1.3.jar
log4j-1.2.17.jar

2)spring核心包
org.springframework.beans-3.2.5.RELEASE.jar
org.springframework.context-3.2.5.RELEASE.jar
org.springframework.core-3.2.5.RELEASE.jar
org.springframework.expression-3.2.5.RELEASE.jar

3)quartz的spring支持
org.springframework.context.support-3.2.5.RELEASE.jar
org.springframework.transaction-3.2.5.RELEASE.jar

4)quartz及他的log支持
quartz-1.8.6.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar

四 spring配置
1)log4j的配置(src/log4j.properties),推荐配置;
2)commons-logging的配置(src/commons-logging.properties):这里是选配的,不配也不会报错,只是为了方便以后日志系统的切换;
3)spring的配置(src/applicationContext.xml),主要是头文件,spring3对头文件的要求很严格;

五 spring与quartz集成
1)开发job
2)配置applicationContext.xml
a.配置具体的作业job
b.配置触发作业的条件Trigger
c.配置调度管理器SchedulerFactoryBean

六 补充
1)如果是web应用,那么spring3还需要配置web.xml;

2011-02-16
1)有些人可能不知道运行的原理,主要是当ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");的时候,spring就会自动启动quartz的作业调度;所以初始化工作只能做一次;

2011-03-30
1)重构demo代码及上传1.1版本demo,1.1中包含了1.0中的全部代码;
2)MyJob3.java增加ApplicationContextAware的自动注入ApplicationContext;
3)MyJob1.java增加jobDataAsMap的使用,详细查看applicationContext.xml;

2013-12-19
1)上传demo2.0,主要是JAR包版本更新以及多余JAR包删除
2)更新spring3.0.5->3.2.5
3)更新quartz1.8.4->1.8.6
4)更新日志系统log4j-1.2.16->1.2.17,commons-logging-1.1.1->1.1.3,slf4j-api-1.6.1->1.7.5,slf4j-log4j12-1.6.1->1.7.5
5)更新spring配置文件中的头文件
6)jdk1.6.0_24->1.6.0_45
7)开发工具eclipse3.6.2_javaee->3.7.2
8)准备开始发布quartz系列文章教程计划
9)修正错误,删除org.springframework.asm-3.2.5.RELEASE.jar包,quartz不需要此包
10)后续的教程,会以maven形式构建


作者简介
昵称:澳洲鸟
姓名:朴海林
QQ:85977328
MSN:6301655@163.com

转载请注明出处
分享到:
评论
31 楼 85977328 2013-12-20  
1)上传demo2.0,主要是JAR包版本更新以及多余JAR包删除
2)更新spring3.0.5->3.2.5
3)更新quartz1.8.4->1.8.6
4)更新日志系统log4j-1.2.16->1.2.17,commons-logging-1.1.1->1.1.3,slf4j-api-1.6.1->1.7.5,slf4j-log4j12-1.6.1->1.7.5
5)更新spring配置文件中的头文件
6)jdk1.6.0_24->1.6.0_45
7)开发工具eclipse3.6.2_javaee->3.7.2
8)准备开始发布quartz系列文章教程计划
9)修正错误,删除org.springframework.asm-3.2.5.RELEASE.jar包,quartz不需要此包
10)后续的教程,会以maven形式构建
30 楼 hugh_nc 2013-10-31  
先赞一个..
29 楼 let_dreams_fly 2011-06-28  
项目中要使用,有时间看下!
28 楼 zfl110 2011-06-24  
例子的还不错,简单明了
26 楼 yin_bp 2011-05-07  
看看bbossgroups项目中quartz调度引擎的使用方法,呵呵,查看bbossgroups 培训ppt
http://dl.iteye.com/topics/download/890e5e81-618d-34f9-978d-e9e2f94a86fb
的第29-32页,有初步的介绍,详细情况可从bbossgroups的测试用例中查看:
http://dl.iteye.com/topics/download/2dbb0e42-6259-3995-8cea-0dfe63965bc1
25 楼 Arden 2011-04-02  
org.springframework.scheduling.quartz.CronTriggerBean
这个类都没有这个属性了啊~

<property name="cronExpression" value="0/2 * * * * ?" />
24 楼 diandian 2011-03-31  
我将它放到linux下,怎么不跑呢?
23 楼 leeldy 2011-03-23  
看了一下配置,非常好的一个例子
定时触发和循环触发都配置了。
22 楼 hanqunfeng 2011-03-22  
使用方式与spring2.5一致
21 楼 85977328 2011-02-17  
晨夕0599 写道
实在不懂为什么quartz要和spring扯上关系。

就是为了简单.以及程序的灵活性
spring只是一种手段
你用properties或者其他xml格式的文件配置,当然也可以
20 楼 iminto 2011-02-17  
cronTrigger 里的ExampleJob里的方法可以调用吗?怎么调啊?

---
不用了,我找到方法了,多谢楼主哈。
19 楼 晨夕0599 2011-02-16  
实在不懂为什么quartz要和spring扯上关系。
18 楼 hswx_11 2011-02-16  
学习学习,多谢楼主分享!
17 楼 yihui224 2011-02-16  
    第一次接触 , 文档写得很好。

    看了之后收获很大

16 楼 85977328 2011-02-16  
kdlan 写道
schedule任务和trigger都是启动时从数据库拿出来的
并且任务里的数据都是有状态的,每次运行的时候都要依赖上次运行的结果
用spring集成的话LZ有什么好的处理办法没?

你可以参考spring的表达试语言,他支持动态配置
15 楼 kdlan 2011-02-16  
schedule任务和trigger都是启动时从数据库拿出来的
并且任务里的数据都是有状态的,每次运行的时候都要依赖上次运行的结果
用spring集成的话LZ有什么好的处理办法没?
14 楼 85977328 2011-02-16  
iminto 写道
你给的示例怎么运行啊 怎么我跑不了啊?

用eclipse3.6.1_javaee
或者你自己重新构件一下你的环境
13 楼 galenbao 2011-02-16  
down下来看了,还有文档,很简单易懂的示例,感谢!
12 楼 tingshu 2011-02-16  
文档总结德不错

相关推荐

Global site tag (gtag.js) - Google Analytics