@ -155,7 +155,7 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -155,7 +155,7 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@ -167,16 +167,16 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -167,16 +167,16 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
/** Cached array of bean definition names in case of frozen configuration */
privateString[]frozenBeanDefinitionNames;
privatevolatileString[]frozenBeanDefinitionNames;
/** Whether bean definition metadata may be cached for all beans */
privatevolatilebooleanconfigurationFrozen=false;
/**
@ -848,13 +848,32 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -848,13 +848,32 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@ -872,7 +891,19 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -872,7 +891,19 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
}
thrownewNoSuchBeanDefinitionException(beanName);
}
this.beanDefinitionNames.remove(beanName);
if(hasBeanCreationStarted()){
// Cannot modify startup-time collection elements anymore (for stable iteration)
@ -914,9 +945,25 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -914,9 +945,25 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto