@ -100,6 +101,15 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
@@ -100,6 +101,15 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
/** Names of beans currently excluded from in creation checks. */
@ -243,6 +253,7 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
@@ -243,6 +253,7 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
@ -257,6 +268,14 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
@@ -257,6 +268,14 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
Thread.currentThread().getName()+"\" while other thread holds "+
"singleton lock for other beans "+this.singletonsCurrentlyInCreation);
}
lenient=true;
this.lenientCreationLock.lock();
try{
this.singletonsInLenientCreation.add(beanName);
}
finally{
this.lenientCreationLock.unlock();
}
}
else{
// No specific locking indication (outside a coordinated bootstrap) and
@ -285,8 +304,25 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
@@ -285,8 +304,25 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
// Try late locking for waiting on specific bean to be finished.
this.singletonLock.lock();
locked=true;
@ -339,6 +375,16 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements
@@ -339,6 +375,16 @@ public class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements