diff --git a/org.springframework.context/src/main/java/org/springframework/context/support/DefaultLifecycleProcessor.java b/org.springframework.context/src/main/java/org/springframework/context/support/DefaultLifecycleProcessor.java index 3ddbd953e8..f0b326ec8b 100644 --- a/org.springframework.context/src/main/java/org/springframework/context/support/DefaultLifecycleProcessor.java +++ b/org.springframework.context/src/main/java/org/springframework/context/support/DefaultLifecycleProcessor.java @@ -152,7 +152,7 @@ public class DefaultLifecycleProcessor implements LifecycleProcessor, BeanFactor * @param beanName the name of the bean to start */ private void doStart(Map lifecycleBeans, String beanName) { - Lifecycle bean = lifecycleBeans.get(beanName); + Lifecycle bean = lifecycleBeans.remove(beanName); if (bean != null && !this.equals(bean)) { String[] dependenciesForBean = this.beanFactory.getDependenciesForBean(beanName); for (String dependency : dependenciesForBean) { @@ -172,7 +172,6 @@ public class DefaultLifecycleProcessor implements LifecycleProcessor, BeanFactor logger.debug("Successfully started bean '" + beanName + "'"); } } - lifecycleBeans.remove(beanName); } } @@ -207,7 +206,7 @@ public class DefaultLifecycleProcessor implements LifecycleProcessor, BeanFactor private void doStop(Map lifecycleBeans, final String beanName, final CountDownLatch latch, final Set countDownBeanNames) { - Lifecycle bean = lifecycleBeans.get(beanName); + Lifecycle bean = lifecycleBeans.remove(beanName); if (bean != null) { String[] dependentBeans = this.beanFactory.getDependentBeans(beanName); for (String dependentBean : dependentBeans) { @@ -250,7 +249,6 @@ public class DefaultLifecycleProcessor implements LifecycleProcessor, BeanFactor logger.warn("Failed to stop bean '" + beanName + "'", ex); } } - lifecycleBeans.remove(beanName); } }