【问题标题】:What is the correct way to close the mongo connection using spring-mongo?使用spring-mongo关闭mongo连接的正确方法是什么?
【发布时间】:2012-12-05 10:30:04
【问题描述】:

我在我的 web 应用程序中使用 spring-mongo。当我在 Tomcat7 中取消部署我的应用程序时,出现内存泄漏。我怀疑它可能是我没有明确关闭的 Mongo 对象。我想知道关闭它的正确方法(和位置)是什么。

【问题讨论】:

    标签: spring mongodb tomcat7 spring-mongo


    【解决方案1】:

    这样的事情怎么样:

    @Component
    public class MongoDBManager {
    
      @Autowired
      Mongo mongo;
    
      @PreDestroy
      public void shutdown() {
        mongo.close();
      }
    }
    

    【讨论】:

    • 我发现泄漏来自必须停止的 Quartz 调度程序。您的解决方案帮助我正确关闭它。谢谢!
    • 另外,如果您使用的是 SimpleMongoDbFactory,请记住 simpleMongoDbFactory.destroy();
    • 我可以把它放在控制器中吗?