关于Spring集成Quartz的concurrent属性
2014-06-24 16:52
162 查看
关于Spring集成Quartz的concurrent属性
以前经常在任务调度程序中使用Spring集成的Quartz,这种方式可以用简单的声明式配置即可实现定时任务,并结合了Spring自身的Bean的管理功能,非常方便。配置样本如下:
Java代码
<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,这种方式可以用简单的声明式配置即可实现定时任务,并结合了Spring自身的Bean的管理功能,非常方便。配置样本如下:
Java代码
<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>
<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的concurrent属性
- 关于Spring集成Quartz的concurrent属性
- 关于Spring集成Quartz的concurrent属性
- 关于Spring集成Quartz的concurrent属性
- 关于Spring集成Quartz的concurrent属性
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- Spring 3 - Quartz - 集成
- 写给自己:关于Spring的事务传播属性
- 关于 spring aop execution 属性的使用
- J2EE中使用Spring集成quartz计划任务
- 关于Spring属性编辑器详解
- spring集成quartz会重复调用2次的问题
- Spring学习笔记 关于Bean属性的初始化
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- Quartz资源及与Spring集成简单使用举例
- Spring集成Quartz
- spring集成并配制quartz