quartz在job间隔期间内,保证上一个任务执行完后,再去执行下一个任务

时间:2022-03-09 16:56:17

假设,我们有个job,每2分钟执行一次,但是job本身就要执行5分钟,这个时候,quartz默认设置是并发的,所以它又会开一个线程来执行。这样往往会导致我们执行的数据不正确。
解决办法:

1、要是是和spring框架结合的,可以添加如下配置:

<property name="concurrent" value="true" />

2、要是没有使用spring框架,只需要在Job的实现类上加上一个注解就可以啦;

@DisallowConcurrentExecution

详情参考:http://my.oschina.net/blueskyer/blog/325812