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

Spring+Quartz定时任务介绍

    博客分类:
  • Tech
阅读更多
Quartz是一个Java的定时任务框架,使用它可以方便地实现计划任务,即在某个时间或是每隔一定时间运行一个任务。Quartz的核心是Job/JobDetail,Trigger和Scheduler。Job/JobDetail即要执行的任务,可以通过实现Job中的execute方法来指定任务的具体操作。Trigger用于控制一组Job的触发,包括SimpleTrigger和CronTrigger,后者支持一种描述触发时间和间隔的表达式语言。Scheduler则是控制和管理触发器的启动和终止。

Spring的scheduling.quartz包中对Quartz框架进行了封装,使得开发时不用写任何Quartz和Spring的代码就可以实现定时任务。Spring通过JobDetailBean,MethodInvokingJobDetailFactoryBean实现Job的定义。后者更加实用,只需指定要运行的类,和该类中要运行的方法即可,Spring将自动生成符合Quartz要求的JobDetail。

<bean id="scheduledUploadJob"
	class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
	<property name="targetObject" ref="storageService" />
	<property name="targetMethod" value="batchUpload" />
</bean>



Quartz的两种Trigger也被封装成Spring的SimpleTruggerBean和CronTriggerBean。只需进行简单的配置即可:

<bean id="uploadJobTrigger"
	class="org.springframework.scheduling.quartz.SimpleTriggerBean">
	<property name="jobDetail" ref="scheduledUploadJob" />
	<property name="startDelay" value="10000" />
	<!-- Run every 5 minute -->
	<property name="repeatInterval" value="300000" />
</bean>



最后定义Scheduler:

<bean id="schedulerFactory"
	class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
	<property name="triggers">
		<list>
			<ref bean="uploadJobTrigger" />
		</list>
	</property>
	<property name="autoStartup" value="false"/>
</bean>

要注意的是上面例子里,我在测试时用ApplicationContext#getBean取出的schedulerFactory并不是SchedulerFactoryBean,而是org.quartz.Scheduler的一个默认实现。
分享到:
评论
1 楼 bosschen 2008-11-07  
清晰明了。有没有更详细的?

相关推荐

    spring+springMVC+mybatis+quartz动态定时任务创建

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...

    Spring + quartz 定时任务修改定时时间不重启服务

    Spring + quartz 定时任务修改定时时间不重启服务

    spring+quartz定时小例子

    在 "spring+quartz定时小例子" 中,我们主要关注的是如何将这两个框架结合使用,创建一个可以执行定时任务的应用。这个例子包含了相关的框架包和文档,帮助开发者理解并实践这一整合过程。 1. **Spring 配置**: ...

    Spring mvc + Mybatis + quartz + swagger 定时任务管理[新增、编辑、删除、修改]

    本项目就是基于Spring MVC、Mybatis、Quartz和Swagger实现的一个定时任务管理系统,旨在提供一种灵活且可配置的方式来管理和控制定时任务。下面将详细讲解这个系统的核心组成部分及其工作原理。 首先,Spring MVC是...

    Spring+Quartz定时任务学习文档+实例+jar包

    Spring和Quartz是Java开发中常用的两个框架,它们在企业级应用中被广泛用于实现定时任务的管理和执行。Spring提供了一个轻量级的容器来管理Bean,而Quartz则是一个强大的作业调度库,能够帮助开发者定义和执行定时...

    spring+quartz定时集群支持

    Spring框架与Quartz库的结合为开发者提供了强大的定时任务管理能力,尤其在集群环境中,如何确保任务的正确性和一致性成为了一个关键问题。本篇将深入探讨"Spring+Quartz定时集群支持"这一主题。 首先,Spring是...

    spring+quartz定时任务

    【Spring + Quartz 实现定时任务】 在Java应用开发中,定时任务是一项常用的功能,用于执行周期性的、计划性的工作,例如数据同步、日志清理、发送邮件等。Spring框架提供了与Quartz库集成的能力,使得我们可以方便...

    spring+quartz动态定时任务创建 +mybatis

    在Spring中整合Quartz,我们可以利用Spring的管理能力,如bean的生命周期管理和事务管理,来更方便地创建和管理定时任务。 **Spring+Quartz动态定时任务创建** 将Spring与Quartz结合,我们可以方便地在运行时动态...

    spring + Quartz 定时任务

    Spring框架和Quartz库结合使用,能够构建出强大且灵活的定时任务解决方案。下面我们将深入探讨这两个技术及其整合的方式。 **Spring框架** Spring是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入...

    11-Spring+Quartz定时任务最简集群版1

    【Spring+Quartz定时任务最简集群版1】是一个基于Spring和Quartz的定时任务解决方案,用于在分布式环境中实现任务的自动调度。本项目作为Dubbo工程的一部分,它依赖于Dubbo的一些公共组件,同时也提供了将定时任务...

    定时框架spring+quartz

    "定时框架spring+quartz"的结合,就是将Quartz的定时功能与Spring的强大集成能力完美融合,为开发者提供了一种高效、灵活的定时任务解决方案。 Spring框架提供了多种方式来管理定时任务,包括使用Spring的`@...

    spring+quartz 动态任务方案

    整合 Spring 和 Quartz 可以让开发者更加灵活地管理和控制定时任务。以下是整合的基本步骤: 1. **配置Spring容器**:首先需要将 Quartz 的相关组件注册到 Spring 容器中。这一步主要是为了让 Spring 能够管理 ...

    Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查

    Spring框架结合Quartz库,提供了一种强大而灵活的方式来管理这些定时任务。本项目旨在演示如何利用Spring和Quartz从数据库中动态加载定时任务,并实现对它们的增删改查功能。以下是关于这个主题的详细知识讲解。 ...

    基于SSM+quartz的定时任务管理demo

    本Demo以"基于SSM+quartz的定时任务管理"为主题,将展示如何在Spring、SpringMVC和MyBatis(SSM)框架基础上,集成Quartz作为调度引擎,实现高效灵活的定时任务管理。 **1. SSM框架简介** SSM是Spring、SpringMVC...

    Spring2.5+Quartz定时任务简单例子web工程

    在"Spring2.5+Quartz定时任务简单例子web工程"中,我们可以看到这两个框架的结合使用,主要目标是实现基于 Web 应用的定时任务管理。以下将详细介绍这个项目中可能涉及的知识点: 1. **Spring 2.5**: - **依赖...

    Spring+Quartz定时调度

    **Spring+Quartz定时调度详解** 在Java世界中,实现定时任务调度是非常常见的需求,Spring框架结合Quartz库提供了一种高效且灵活的解决方案。本文将深入探讨Spring与Quartz的整合,以及如何利用它们来创建和管理...

    spring+quartz的定时任务

    spring+quartz的定时任务,希望能帮到大家!

    spring+Quartz定时任务jar包

    commons-collections-3.2.2.jar commons-logging-1.2.jar jta-1.1.jar log4j-1.2.14.jar org.springframework....quartz-all-1.8.6.jar slf4j-api-1.5.8.jar slf4j-log4j12.jar 和spring的一些jar包 不一一列出了

    spring + quartz 集群配置

    实现集群配置,在集群环境下多节点运行定时Quartz定任务,就会存在重复处理任务的现象,为解决这一问题,下面我将介绍使用 Quartz 的 TASK ( 12 张表)实例化到数据库,基于数据库自动管理协调每个节点的定时任务的...

    Spring+Quartz 集群

    在IT行业中,Spring框架是Java企业级应用开发的首选,而Quartz则是一个强大的任务调度库,常用于实现定时任务。本篇文章将深入探讨如何在Spring环境中集成Quartz以构建一个高可用的集群。 首先,我们需要理解Spring...

Global site tag (gtag.js) - Google Analytics