关于Spring集成Quartz的concurrent属性
以前经常在任务调度程序中使用Spring集成的Quartz,这种方式可以用简单的声明式配置即可实现定时任务,并结合了Spring自身的Bean的管理功能,非常方便。配置样本如下:
<bean id="transmitTask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="transTaskBusiness" />
</property>
<property name="targetMethod">
<value>execute</value>
</property>
<property name="concurrent">
<value>false</value>
</property>
</bean>
其中concurrent属性标识的解释为:对于相同的JobDetail,当指定多个Trigger时, 很可能第一个job完成之前,第二个job就开始了。指定concurrent设为false,多个job不会并发运行,第二个job将不会在第一个job完成之前开始。
那么此处的第二个job到底是被推迟执行了,还是被取消了呢? 今天带着这个疑问做了一个小实验,具体做法如下:将任务的Trigger设置为每10秒钟执行一次,然后在执行的任务体内让Thread暂停15秒钟,这样不同的job之间肯定会有时间上的重叠。当启动程序之后,发现前一个job执行结束的时刻的秒数为15,而且第二个本来在10s就执行的job马上就启动了。
由此可见,concurrent属性实际是将job推迟执行了。
分享到:
相关推荐
### Spring集成Quartz定时任务框架介绍 #### 一、引言 在现代JavaEE应用程序开发过程中,定时任务是一项常见的需求。这些任务可能包括但不限于:每天固定时间生成报表、定期清理缓存、定时发送邮件提醒等。传统的...
Quartz是开源的,可扩展的,且与Spring框架完美集成,为应用提供了灵活且可靠的定时任务管理能力。在这个"spring-quartz简单实例"中,我们将探讨如何在Spring环境下配置和使用Quartz。 首先,我们需要引入Quartz和...
标题 "spring quartz 集群模式" 涉及到的是Spring框架与Quartz调度器在集群环境下的集成和配置。Quartz是一个开源任务调度框架,而Spring则提供了与Quartz的无缝集成,使得在Java应用中管理和执行定时任务变得更加...
### Spring 结合 Quartz 的定时任务两种实现方法 在企业级应用开发中,定时任务是非常常见且重要的一个功能模块。Spring 框架结合 Quartz 定时任务调度框架能够提供非常强大的定时任务支持。本文将详细介绍如何利用...
**Spring-quartz计划任务** ...同时,可以通过阅读官方文档、博客(如给出的链接)和其他在线资源,学习更多关于Spring与Quartz集成的高级用法,如集群配置、任务持久化等,以便在实际项目中更好地运用这一技术。
在Spring框架中集成Quartz调度器,可以实现定时任务的高效管理。Quartz是一个开源的作业调度框架,它允许程序创建、调度和执行任务。在本示例中,我们将探讨如何在Spring应用中配置和使用Quartz,以及通过示例代码来...
首先,集成Quartz到Spring项目中,我们需要在项目的`pom.xml`或`build.gradle`文件中添加Quartz和Spring的相关依赖。对于Spring 3.2.3,确保引入了如下的Maven依赖: ```xml <groupId>org.springframework ...
在实际开发中,还可以考虑使用Spring Boot,它提供了更简洁的自动化配置,使得集成Quartz变得更加方便。通过在Spring Boot的application.properties或application.yml中添加相应的配置项,可以轻松地启用Quartz并...
Quartz是一款强大的、开源的...2. **配置Quartz**:在Spring的配置文件(如`applicationContext.xml`)中,创建一个`SchedulerFactoryBean`,并设置相关的Quartz属性,如数据库连接、job存储方式等。例如: ```xml ...
Spring框架提供了与Quartz库的集成,使得我们可以方便地在Spring应用中实现复杂且可扩展的任务调度。Quartz是一个开源的作业调度框架,它支持丰富的调度配置和多种触发器,能够满足大部分的调度需求。 首先,我们...
在集成Quartz时,我们可以将Quartz的Scheduler、Job、Trigger等组件作为Spring的bean来管理,这样可以利用Spring的优势,例如自动初始化、依赖注入、AOP等特性。 2. **Quartz1.8.6简介** Quartz1.8.6是Quartz的一...
通过这种方式,Spring与Quartz的集成使得我们可以方便地在Java应用中添加定时任务,而无需关心底层的调度细节。这种灵活性和可扩展性使得Quartz成为许多企业级应用的首选定时任务解决方案。 总结起来,Spring中的...
这篇博客将探讨如何在Spring中集成Quartz来实现定时任务。 首先,我们需要引入Quartz的依赖。在Maven的pom.xml文件中,添加以下依赖: ```xml <groupId>org.quartz-scheduler <artifactId>quartz <version>...
而Spring框架是Java领域中广泛使用的轻量级应用框架,它提供了丰富的功能,包括依赖注入、面向切面编程以及用于集成其他系统的支持。将Quartz与Spring结合使用,可以方便地在Spring管理的bean中定义和调度任务,实现...
【SSM集成Quartz1】是指在Spring、Struts2和MyBatis这三大Java Web开发框架的基础上,引入Quartz作为任务调度库的整合过程。Quartz是一个开源的作业调度框架,可以用来创建和执行定时任务。在这个集成过程中,我们有...
本文将深入探讨Spring3与Quartz1.8的集成与使用,包括配置方法、API使用以及集群设置。 一、Spring3与Quartz的结合 1. 配置引入 首先,我们需要在Spring的配置文件中引入Quartz的相关依赖。在`beans.xml`中添加...
将Quartz与Spring集成可以充分利用Spring的依赖注入功能,简化Quartz的配置过程。 ##### 2.1 导入必要的库 - **Struts项目**:对于使用Struts的项目,需要直接导入以下JAR包: - `spring.jar`:Spring核心库。 -...
本篇文章将深入探讨Spring如何与Quartz集成,以及它们之间的协同工作原理。 首先,理解Quartz的核心概念至关重要。Quartz允许开发者创建Job(任务)和Trigger(触发器)。Job是执行的具体任务,而Trigger定义了何时...
Quartz允许开发者定义并执行定时任务,而Spring则提供了依赖注入、面向切面编程等特性,使得集成Quartz变得更为简单和灵活。 ### 重要知识点解析: #### 1. Quartz与Spring的集成 Quartz和Spring的结合,主要是...
在`spring.xml`配置文件中,我们可以看到如何将Spring Task和Quartz集成到Spring应用中。配置Spring Task通常只需要开启调度器和配置`@Scheduled`注解的扫描。对于Quartz,我们需要配置`SchedulerFactoryBean`,包括...