Java 在Spring中使用多个ApplicationContexts-关于清理资源的问题

Java 在Spring中使用多个ApplicationContexts-关于清理资源的问题,java,spring,Java,Spring,如果我有一个主appCtx,然后我有一系列单独的appCtx,它们将主appCtx称为父appCtx,那么我可以破坏子上下文以释放内存吗 实际上,我想使用子appCtx作为对象缓存,并且我想对特定缓存说:“我不再使用这个缓存中的bean,所以我想通过调用appCtx.close()释放内存。” 我已经尝试过原型化,但我不确定子上下文中的bean引用是否真的被删除了——换句话说,在close()之后,bean是否可用于垃圾收集 我意识到这是一种使用Spring的不同方式,但我的应用程序不同,我已经

如果我有一个主appCtx,然后我有一系列单独的appCtx,它们将主appCtx称为父appCtx,那么我可以破坏子上下文以释放内存吗

实际上,我想使用子appCtx作为对象缓存,并且我想对特定缓存说:“我不再使用这个缓存中的bean,所以我想通过调用appCtx.close()释放内存。”

我已经尝试过原型化,但我不确定子上下文中的bean引用是否真的被删除了——换句话说,在close()之后,bean是否可用于垃圾收集

我意识到这是一种使用Spring的不同方式,但我的应用程序不同,我已经用尽了所有其他的可能性(自定义作用域、SingletonBeanFactoryLocator等)。

是的,调用
close()
将会。如果没有其他引用,bean将有资格进行垃圾收集