Backported core container concurrency refinements

Issue: SPR-16620
Issue: SPR-16625
Issue: SPR-16627
This commit is contained in:
Juergen Hoeller
2018-03-28 01:23:50 +02:00
parent 65a8aa1c09
commit 59189e5957
4 changed files with 68 additions and 39 deletions

View File

@@ -159,7 +159,7 @@ public class DefaultLifecycleProcessor implements LifecycleProcessor, BeanFactor
*/
private void doStart(Map<String, ? extends Lifecycle> lifecycleBeans, String beanName, boolean autoStartupOnly) {
Lifecycle bean = lifecycleBeans.remove(beanName);
if (bean != null && !this.equals(bean)) {
if (bean != null && bean != this) {
String[] dependenciesForBean = this.beanFactory.getDependenciesForBean(beanName);
for (String dependency : dependenciesForBean) {
doStart(lifecycleBeans, dependency, autoStartupOnly);