@ -218,8 +218,7 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -218,8 +218,7 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
/** Whether bean definition metadata may be cached for all beans. */
privatevolatilebooleanconfigurationFrozen;
privatevolatilebooleanpreInstantiationPhase;
/** Name prefix of main thread: only set during pre-instantiation phase. */
@Nullable
privatevolatileStringmainThreadPrefix;
@ -1066,11 +1065,13 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -1066,11 +1065,13 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
// MAIN is allowed to lock (true) or even forced to lock (null),
// BACKGROUND is never allowed to lock (false).
returnswitch(preInstantiation){
@ -1078,14 +1079,23 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -1078,14 +1079,23 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
// An unmanaged thread (assumed to be application-internal) with lenient locking,
// and not part of the same thread pool that provided the main bootstrap thread
// (excluding scenarios where we are hit by multiple external bootstrap threads).
returntrue;
}
}
}
// Traditional behavior: forced to always hold a full lock.
returnnull;
}
@ -1103,7 +1113,6 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -1103,7 +1113,6 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
// Trigger initialization of all non-lazy singleton beans...
@ -1120,7 +1129,6 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
@@ -1120,7 +1129,6 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto