Choi의 고유결계

MongoDB - 싱글톤에서 close() 본문

DB/Mongo

MongoDB - 싱글톤에서 close()

믿을수없는맛 2019. 3. 2. 00:20
반응형

싱글톤 에서의 CLOSE()

Java 웹 강의를 보면 항상 의문이 들었던 점이있다. 싱글톤으로 만들어진 몽고디비 DAO에서 CLOSE()를 해줄 필요가 있나 말이다.

오늘 구글링을 하다 내 궁금중을 해소 해주는 글을 발견하였다.

스택 오버플로우

하나의 Mongo 객체를 사용해야하므로 풀링을 수행합니다. 그러나 여러 객체를 사용하는 경우에는 .close()명시 적으로 >호출해야합니다 .

Mongo 클래스는 스레드로부터 안전하며 스레드간에 공유되도록 설계되었습니다. 일반적으로 주어진 DB 클러스터에 대해 단 하나의 >인스턴스를 생성하여 앱 전체에서 사용합니다. 어떤 이유에서든 많은 몽고 인턴을 창작하기로 결정했다면 다음 사항에 유의하십시오.

모든 리소스 사용 한도 (최대 연결 수 등)는 mongo 인스턴스별로 인스턴스를 처리 할 때 mongo.close ()를 호출하여 리소스를 >정리해야합니다.

즉 몽고 클라이언트를 여러개 만들어 사용할경우 CLOSE()를 해야한다. 여러개 만들어 사용하는 경우는 없을것 같지만 싱글톤이 아니거나, DB 접근할때마다 새로 만드는 경우가 아니면 굳이 CLOSE()를 해야할필요는 없어 보인다.

즉 정리하자면

  • 몽고디비 객체를 여러개 만들어 사용하는경우는 각각의 풀이 만들어진다.

    • 여러개의 몽고디비가 생성 된경우 자원 제한이 생긴다
      EX) 최대 접속자수 제한
  • 여러개의 몽고 클라이언트 객체를 만들었을 경우에는 CLOSE()를 명시적으로 호출해야한다


반응형
Comments