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

时间:2009-07-24 07:25:24

标签: java spring

如果我有一个主appCtx,然后我有一系列单独的appCtxs,它们将主要的appCtx称为父母,那么我可以将子语境下去以释放内存吗?

实际上我想使用子appCtxs作为对象缓存,我希望可以选择对特定缓存说 - “我不再使用此缓存中的bean了,所以我想释放内存调用appCtx.close()“

我已尝试过原型设计,但我不确定子上下文中的bean引用是否实际被删除 - 换句话说,在close()之后是否可用于垃圾回收的bean?

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

1 个答案:

答案 0 :(得分:2)

是的,调用close()release all resources。如果没有其他参考,豆类将有资格进行垃圾收集。