이전의 데이터베이스 사용 경험이 없지만 현재 구축중인 응용 프로그램에 사용해야하고 MongoDB를 선택해야합니다.MongoDB 객체 인스턴스
이제 모든 것이 작동하지만, 데이터베이스에 요청할 때마다 새로운 Mongo 객체를 생성하고 있는데, 틀렸다고 생각합니다.
그래서 나는 내가 MongoDbConnnection
라는 클래스에 다음과 같은 몇 가지 코드를 가지고 요청하고이 작업을 수행하는 올바른 방법이 무엇인지 배우고 싶어요 :
public class MongoDbConnection {
private static Mongo _mongo;
public static Mongo getMongo()
{
if (_mongo == null) {
try {
_mongo = new Mongo();
} catch (UnknownHostException e) {
_mongo = null;
e.printStackTrace();
} catch (MongoException e) {
_mongo = null;
e.printStackTrace();
}
}
return _mongo;
}
}
그래서 때마다 내가 쿼리를 할 필요가, 나는 Mongo m = MongoDbConnnection.getMongo();
을하고 앞으로 나아 간다.
이 정보가 맞습니까?
HttpServlet
을 확장하는 또 다른 클래스가있어서 연결을 닫을 때 혼란 스럽습니다. 누군가가 URL을 요청할 때마다 데이터베이스를 쿼리하고 정보를 반환해야 할 때마다 GET이 응답합니다. 한 요청에 응답 한 직후에 닫히면 다른 사람들이 바로 그 요청을 다시 요청하면 어떨까요? 그런 다음 다시 새로운 Mongo 객체를 생성해야합니까?
다른 말로하면, Mongo 인스턴스가 연결 폴링을 유지한다는 것을 알기 때문에 m.close()를 호출 할 때 사용한 공용 연결을 바꿀 수 있습니까? 아니면 객체 m
을 null로 설정합니까?