Как правильно закрыть соединение монго с помощью spring-mongo?

Я использую spring-mongo в своем веб-приложении. Когда я отменяю развертывание своего приложения в Tomcat7, возникает утечка памяти. Я подозреваю, что это может быть объект Mongo, который я не закрыл явно. Я хотел бы знать, как правильно (и где) закрыть его.


person Vincent Cantin    schedule 05.12.2012    source источник


Ответы (1)


Как насчет такого:

@Component
public class MongoDBManager {

  @Autowired
  Mongo mongo;

  @PreDestroy
  public void shutdown() {
    mongo.close();
  }
}
person Stefan Podkowinski    schedule 05.12.2012
comment
Я обнаружил, что утечка была из планировщика Quartz, который нужно было остановить. Ваше решение помогло мне правильно закрыть его. Благодарю вас ! - person Vincent Cantin; 05.12.2012
comment
Также, если вы используете SimpleMongoDbFactory, не забудьте simpleMongoDbFactory.destroy(); - person yonia; 04.12.2014
comment
Могу ли я разместить это в контроллере? - person vivex; 17.07.2015