【问题标题】:Using Multiple ApplicationContexts in Spring - question about cleaning up resources在 Spring 中使用多个 ApplicationContexts - 关于清理资源的问题
【发布时间】:2010-03-09 20:09:12
【问题描述】:

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

实际上,我想将子 appCtxs 用作对象缓存,并且我希望可以选择对特定缓存说 - “我不再使用此缓存中的 bean,所以我想通过以下方式释放内存调用 appCtx.close()"

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

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

【问题讨论】:

    标签: java spring


    【解决方案1】:

    是的,调用close() 将是release all resources。如果没有其他对 Bean 的引用,则 Bean 将有资格进行垃圾回收。

    【讨论】:

      猜你喜欢
      • 2011-07-26
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 2013-05-12
      • 2013-10-16
      • 2011-04-13
      • 2015-09-17
      • 2011-02-23
      相关资源
      最近更新 更多