source

연결을 명시적으로 닫아야 합니까?

manysource 2023. 6. 19. 21:41

연결을 명시적으로 닫아야 합니까?

저는 한 가지 예를 들고 있습니다.MongoClient그리고.DB내 애플리케이션에서, 그리고 내가 어떤 작업을 실행하고 싶을 때마다 나는 호출합니다.getCollection().
저는 제가 명시적으로 연결을 닫을 필요가 있는지 궁금합니다.connection.close()JDBC에서.

강조하자면, 저는 하나밖에 없습니다.MongoClient사례.내 질문은 마감에 관한 것이 아닙니다.MongoClient하지만 연결을 닫으면 제가 전화할 때 열리는 것 같습니다.getCollection().

아니요, DB에 대한 연결을 닫을 필요는 없습니다. MongoClient를 통해 연결되며 설명서에 나와 있듯이 연결 풀링을 처리합니다.

정리하려는 유일한 리소스는 커서이며, 이 커서를 다 정리한 후 닫아야 합니다().

MongoClient가 많으면 닫아야 합니다.

MongoClient 인스턴스는 실제로 데이터베이스에 대한 연결 풀을 나타냅니다. 여러 스레드가 있더라도 클래스 MongoClient 인스턴스 하나만 필요합니다.

MongoClient.close()를 사용하여 리소스를 정리합니다.

MongoClient.close() - 기본 커넥터를 닫으면 열려 있는 모든 연결이 닫힙니다.호출되면 이 Mongo 인스턴스를 더 이상 사용할 수 없습니다.

더 보기: http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/

언급URL : https://stackoverflow.com/questions/19938153/do-i-need-to-explicitly-close-connection