关于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定时任务 用数据库实现quartz的集群
关于spring中quartz的配置
NULL 博文链接:https://vista-move.iteye.com/blog/2274246
Spring集成Quartz的代码示例,可轻松实现可配置JAVA定时任务。
spring集成quartz支持的扩展jar包,spring版本4.0.3
spring和quartz1.x及quartz2.x集成,具体见博客
spring+quartz demo,下载后即可运行,很强大哦....
spring集成quartz使用需要的jar包下载。
这个是spring 和 quartz的集成,quartz是单独的包,java线程的方式运行,利用自定义Jobfactory来解决spring注入service空指针的问题,简单实例执行main方法即可,很实用
Spring 集成 Quartz.zip
Java_Spring与Quartz的整合
针对于spring集成quartz配置进行详细说明,并提供部分简单示例说明配置。
Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考http://www.blogjava.net/baoyaer/articles/155645.html 博客信息 看此代码,项目里分为两大块,com文件夹下 为上面博客相关学习...
本项目来源与网络,本人对项目...直接通过mvn 倒入项目,在Spring-quartz-demo\src\main\webapp\sql 有sql 建立数据库,表 启动tomcat 直接访问http://localhost:8080/Spring-quartz-demo/task/taskList.htm 就可以使用
spring boot集成quartz定时器,job支持spring的依赖注入
spring的quartz使用实例,spring的quartz使用实例
spring整合quartz文档
spring注解Quartz定时执行功能
本文章是关于springboot集成quartz集群的步骤,LZ亲测。
好像很多人整合出现了问题,所以抽个demo出来 是一个demo包含源码和lib 在tomcat下可以执行