Force lazy-init to false when parsing scheduled:task
A <scheduled:task> element declared within a <beans default-lazy-init="true"> element represents a contradiction in terms: such a task will never be executed. For this reason, we now override any inherited lazy-init settings when parsing <scheduled:task> elements, forcing lazy-init to false for the underlying ScheduledTaskRegistrar bean. Thanks to Mike Youngstrom for contributing an initial patch. Issue: SPR-8498
This commit is contained in:
@@ -50,6 +50,7 @@ public class ScheduledTasksBeanDefinitionParser extends AbstractSingleBeanDefini
|
||||
|
||||
@Override
|
||||
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
|
||||
builder.setLazyInit(false); // lazy scheduled tasks are a contradiction in terms -> force to false
|
||||
ManagedMap<RuntimeBeanReference, String> cronTaskMap = new ManagedMap<RuntimeBeanReference, String>();
|
||||
ManagedMap<RuntimeBeanReference, String> fixedDelayTaskMap = new ManagedMap<RuntimeBeanReference, String>();
|
||||
ManagedMap<RuntimeBeanReference, String> fixedRateTaskMap = new ManagedMap<RuntimeBeanReference, String>();
|
||||
|
||||
Reference in New Issue
Block a user