diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/FactoryBeanRegistrySupport.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/FactoryBeanRegistrySupport.java index 3184468492..1066165c52 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/FactoryBeanRegistrySupport.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/FactoryBeanRegistrySupport.java @@ -221,7 +221,16 @@ public abstract class FactoryBeanRegistrySupport extends DefaultSingletonBeanReg } /** - * Returns the security context for this bean factory. If a security manager + * Overridden to clear the FactoryBean object cache as well. + */ + @Override + public void destroySingletons() { + super.destroySingletons(); + this.factoryBeanObjectCache.clear(); + } + + /** + * Return the security context for this bean factory. If a security manager * is set, interaction with the user code will be executed using the privileged * of the security context returned by this method. * @see AccessController#getContext()