原文:http://stevex.blog.51cto.com/4300375/1351980
http://shmilyaw-hotmail-com.iteye.com/blog/2169047
http://jingyan.baidu.com/article/0f5fb099cc244d6d8234ea6b.html
Spring最大的能耐之一就是提供对流行框架的无缝集成,Quartz作为Java实现的工业标准级别的定时任务调度器,Spring对其提供了无缝的集成,并大大简化了开发工作,这是使用Spring比较爽的地方之一。
-
Job(or Task):需要定时处理的事情
-
Trigger: 事件触发时间点(一次性的、固定周期性的、像Linux Cron Jobs 灵活配置的)
-
Scheduler: 调度器
<
bean
id
=
"fixedRateTask"
class
=
"com.stevex.demo.FixedRateTask"
></
bean
>
<
bean
id
=
"fixedTimeTask"
class
=
"com.stevex.demo.FixedTimeTask"
></
bean
>
<
bean
id
=
"job1"
class
=
"org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
=
"targetObject"
ref
=
"fixedRateTask"
>
</
property
>
<
property
name
=
"targetMethod"
value
=
"doSth"
></
property
>
</
bean
>
<
bean
id
=
"job2"
class
=
"org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
=
"targetObject"
ref
=
"fixedTimeTask"
>
</
property
>
<
property
name
=
"targetMethod"
value
=
"doSth"
></
property
>
</
bean
>
<
bean
id
=
"simpleTrigger"
class
=
"org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"
>
<
property
name
=
"jobDetail"
ref
=
"job1"
/>
<
property
name
=
"startDelay"
value
=
"0"
/>
<!--单位毫秒 -->
<
property
name
=
"repeatInterval"
value
=
"60000"
/> <!--单位毫秒 -->
</
bean
>
<
bean
id
=
"cronTrigger"
class
=
"org.springframework.scheduling.quartz.CronTriggerFactoryBean"
>
<
property
name
=
"jobDetail"
ref
=
"job2"
/>
<
property
name
=
"cronExpression"
value
=
"0 2 15 * * ?"
/>
</
bean
>
<
bean
class
=
"org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
=
"triggers"
>
<
list
>
<
ref
bean
=
"simpleTrigger"
/>
<
ref
bean
=
"cronTrigger"
/>
</
list
>
</
property
>
</
bean
>
Quartz的Scheduler对应类为Scheduler,Spring对应工厂类为SchedulerFactoryBean。
完整路径类名列表如下:
org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean
org.springframework.scheduling.quartz.QuartzJobBean
org.springframework.scheduling.quartz.SimpleTriggerFactoryBean
org.springframework.scheduling.quartz.SimpleTriggerBean
org.springframework.scheduling.quartz.CronTriggerFactoryBean
org.springframework.scheduling.quartz.CronTriggerBean
org.springframework.scheduling.quartz.SchedulerFactoryBean
Spring同时提供对Quartz的TriggerListener和JobListener的支持,这类似AOP编程,可以在任务执行前后进行检查等工作,通过简单的属性配置可实现。
一个maven的工程,其类型依然是archetype-quickstart。唯一不同的地方在于我们引入更多spring的库,其pom.xml文件内容如下:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.0.0</version>
</dependency>
就可以试试了
相关推荐
Spring集成Quartz定时任务框架是Java开发中常用的一种任务调度工具,它可以帮助开发者在特定时间执行重复或一次性任务。Quartz作为一个开源的作业调度框架,提供了丰富的API来创建、调度和管理作业。本文将深入探讨...
### Spring集成Quartz定时任务框架介绍 #### 一、引言 在现代JavaEE应用程序开发过程中,定时任务是一项常见的需求。这些任务可能包括但不限于:每天固定时间生成报表、定期清理缓存、定时发送邮件提醒等。传统的...
2. **配置Quartz**:在Spring的配置文件(如applicationContext.xml)中,声明Quartz的相关bean,包括`SchedulerFactoryBean`,它是Quartz与Spring集成的关键: ```xml <bean id="schedulerFactoryBean" class="org....
【Spring集成Quartz定时任务与数据库实现集群详解】 在企业级应用中,定时任务的管理是必不可少的一部分,Spring框架提供了与Quartz的集成,使得我们可以方便地创建和管理定时任务。Quartz是一款强大的、开放源代码...
总结,通过以上步骤,我们就成功地在Spring 3中配置了Quartz定时任务,实现了每10秒执行一次的任务。在实际应用中,你可以根据需求定义更复杂的作业和触发器,以及使用Quartz的其他高级特性,如集群支持、持久化作业...
本实例将探讨如何在Spring框架中集成Quartz,创建并运行一个简单的定时任务。以下是你需要知道的关键知识点: 1. **Quartz简介**:Quartz是开源的作业调度库,可以用来创建、调度和执行计划任务。它支持cron表达式...
在Spring Boot应用中整合Quartz定时任务是一种常见的需求,它可以帮助我们执行周期性的后台任务,如数据同步、报表生成等。Spring Boot与Quartz的结合提供了便捷的配置方式,特别是通过YAML(YAML Ain't Markup ...
在本文中,我们将深入探讨如何在Spring Boot 2.3版本中集成Quartz定时任务,并实现其持久化到数据库,以便支持集群环境。这个过程的关键在于配置Quartz Scheduler,设置数据库连接,以及确保任务在多节点环境中能够...
在Spring中整合Quartz,我们可以利用Spring的管理能力,如bean的生命周期管理和事务管理,来更方便地创建和管理定时任务。 **Spring+Quartz动态定时任务创建** 将Spring与Quartz结合,我们可以方便地在运行时动态...
与Spring集成后,可以使用Spring提供的标签来简化Quartz的配置,使得整个任务调度更加方便。 总结来说,定时任务是开发者常用的一种工具,它的实现方式多样,从简单的Java Timer到强大的Quartz框架都有涉及。Spring...
Spring集成Quartz,使得定时任务的管理变得更加方便和灵活。 在“spring quartz定时任务demo”中,你将找到以下关键组成部分: 1. **quartz.jar**:这是Quartz库的主jar文件,包含了所有必要的类和资源,用于在...
首先,Spring集成Quartz主要通过Spring的TaskExecution和TaskScheduling模块,这使得我们可以利用Spring的依赖注入和AOP特性来更好地管理和控制定时任务。在Spring中配置Quartz,我们通常需要以下几个步骤: 1. ...
SpringBoot集成Quartz定时任务(包含对任务的添加、暂停、删除、继续等)
Spring框架结合Quartz库,提供了一种强大而灵活的方式来管理这些定时任务。本项目旨在演示如何利用Spring和Quartz从数据库中动态加载定时任务,并实现对它们的增删改查功能。以下是关于这个主题的详细知识讲解。 ...
总结起来,Spring中的Quartz定时任务配置涉及到创建Job Bean、定义Job Detail Bean来指定执行方法,以及设置Cron Trigger Bean来控制执行时机。同时,还需要配置Quartz的属性文件来满足特定的应用需求。正确理解和...
在Spring中集成Quartz,可以利用Spring的IoC容器管理作业和触发器,使得配置和管理变得更加简单。 要在Spring 2.0中使用Quartz执行每天定时任务,你需要按照以下步骤进行: 1. 引入依赖:在项目中添加Quartz的库...
在Spring框架中集成Quartz库可以实现强大的定时任务管理功能。Quartz是一个开源的作业调度框架,它允许程序创建和管理任务,以便在特定时间自动执行。Spring通过其优秀的依赖注入(DI)和AOP(面向切面编程)特性,...
Spring Quartz定时任务jar包是Java开发中用于实现定时任务调度的一种解决方案。Quartz是一个开源的作业调度框架,它允许程序创建、调度和执行作业,而Spring框架则为Quartz提供了良好的整合,使得在Spring应用中配置...
Spring与Quartz的集成主要基于Spring的`TaskExecution`和`TaskScheduling`模块,它允许我们以声明式的方式配置定时任务,同时也支持编程式的任务调度。以下将详细介绍如何利用Spring和Quartz实现多任务的定时功能。 ...
集成Quartz到Spring的过程中,主要涉及以下步骤: 1. 添加依赖:确保项目中引入了Spring和Quartz的相关库,包括`spring-context-support`和`quartz`。 2. 配置Scheduler:在Spring的配置文件中,使用`...