`
85977328
  • 浏览: 1899717 次
  • 性别: 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  
文档总结德不错

相关推荐

    quartz quartz-1.8.6 dbTables 建表sql

    版本1.8.6是Quartz的一个稳定版本,它包含了对数据库存储作业和触发器的支持。 在Quartz中,为了将任务和触发器的调度信息存储到数据库中,需要预先创建相应的数据库表。"dbTables" 文件正是为此目的提供的。这个...

    spring3.1 与 quartz 1.8.6 整合 所有jar

    本文将详细探讨如何在Spring 3.1版本中整合Quartz 1.8.6,以便利用其强大的任务调度能力。 **Spring 3.1简介** Spring 3.1是Spring框架的一个重要版本,它引入了许多新特性,如CGLIB代理的增强支持、对Java配置的...

    spring2与quartz在Web整合

    在将 Spring 2 与 Quartz 整合到 Web 应用中时,主要涉及以下几个关键知识点: 1. **Spring 2 的核心概念**:Spring 2 提供了 IoC(Inversion of Control,控制反转)和 AOP(Aspect-Oriented Programming,面向切...

    quartz1.8.6数据库持久化

    综上所述,Quartz 1.8.6与Spring 3.1.4的集成使得开发者能够利用数据库持久化功能创建可靠的定时任务。通过配置文件和Spring的XML配置,我们可以灵活地管理作业和触发器,并借助其他依赖库实现更复杂的应用场景。

    quartz整合springbatch动态集群定时实现mysql参考

    Quartz与Spring的集成使得在Spring应用中管理任务变得更加容易,可以利用Spring的依赖注入和生命周期管理。 Spring Batch是一个用于处理大量数据的批处理框架。它提供了诸如事务管理、错误处理、读写器和处理器抽象...

    quartz-1.8.6.jar

    标题提到的是"quartz-1.8.6.jar",这表明我们正在讨论的是Quartz的一个特定版本,1.8.6。 集成Quartz到Spring的主要目的是利用Spring的依赖注入(DI)和管理功能来更好地控制和配置Job。以下是一些关键步骤和知识点...

    quartz-1.8.6

    尽管存在更现代的替代品,如Spring Task和Quartz的后续版本,但对于那些需要维持旧版兼容性的项目,1.8.6仍然是一个可靠的解决方案。理解其核心概念和使用方式,可以帮助开发者构建高效且自动化的系统。

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Quartz 可以与 Spring 框架集成,以实现任务的定时执行。 Spring 中的 Quartz 配置 在 Spring 中,Quartz 的配置主要通过 XML 文件来实现。我们可以在 Spring 的配置文件中定义 Quartz 的 bean,以便实现任务的...

    Quartz2.2.1基于Spring注解方式配置Quartz

    Quartz2.2.1是其一个版本,提供了丰富的功能和优化,包括集群支持、灵活的调度策略以及与Spring框架的深度集成。本文将详细介绍如何在Spring环境中使用注解方式配置Quartz。 1. **引入依赖** 在项目中,你需要引入...

    spring+quartz demo

    Spring 提供了与 Quartz 集成的模块,使得在 Spring 应用程序中使用 Quartz 更加便捷,包括 Job 实例的管理、触发器的配置以及对 Quartz Scheduler 的控制。 在这个 "spring+quartz demo" 中,我们可以学习到如何将...

    quartz和spring-quartz

    Spring-Quartz的集成则将这些概念与Spring的IoC(Inversion of Control)容器相结合,提供了更好的依赖注入支持。以下是一些关键点: 1. **Bean集成**: Spring可以自动将Job实例作为Spring Bean管理,这样你就可以...

    Quartz-1.8.6 CSDN 下载

    Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。 Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的...

    spring quartz 表达式在线生成器

    标题中的“Spring Quartz 表达式在线生成器”是指一个工具,它可以帮助开发者方便地创建和测试Spring集成Quartz库时所需的定时任务表达式。Quartz是一个强大的、完全开源的作业调度框架,常用于Java应用中执行定时...

    quartz-1.8.6.tar

    Quartz是Java领域中广泛应用的一款开源任务调度框架,它的版本号为1.8.6,表明这是该软件的一个稳定版本。这个`.tar`文件是一种常见的Linux/Unix平台下的归档文件格式,用于打包多个文件和目录,便于存储、传输和...

    spring3整合quartz1.8和spring3整合quartz2.2两个版本示例

    - **事务管理**:当 Job 需要在事务环境中执行时,需要确保 Spring 事务管理与 Quartz 的集成正确。 - **错误处理**:合理处理 Job 执行异常,避免影响整个 Scheduler 的运行。 - **资源释放**:应用关闭时,确保...

    SpringQuartz的使用文档

    SpringQuartz是一个强大的任务调度框架,它在Java应用程序中用于自动化执行特定任务,如定时生成文件、统计数据或执行后台清理工作。Quartz是开源的,具有高度灵活的调度功能,能够根据预定义的时间表触发任务,同时...

    spring-quartz定时设置详细说明

    以下是对 "spring-quartz 定时设置详细说明" 的详细解释。 一、Quartz 简介 Quartz 是一个开源的作业调度框架,可以用来创建、调度和执行任务。它支持复杂的调度策略,如按时间间隔执行、在特定日期执行等。Quartz ...

    quartz+spring集成完整开发,富含文档说明

    将Quartz与Spring集成可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)特性,使任务调度变得更加灵活和易于管理。这样的集成可以帮助开发者在SSH(Struts、Spring、Hibernate...

    spring集成quartz集群配置

    以下是一个简单的Spring配置示例,展示了如何集成Quartz和数据库: ```xml &lt;bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"&gt; &lt;bean id="cronTrigger" class="org.spring...

    spring 集成quartz 用数据库实现quartz的集群

    在企业级应用中,定时任务的管理是必不可少的一部分,Spring框架提供了与Quartz的集成,使得我们可以方便地创建和管理定时任务。Quartz是一款强大的、开放源代码的作业调度框架,它可以灵活地安排和执行任务。而当...

Global site tag (gtag.js) - Google Analytics