我在我的应用程序中持有MongoClient
和DB
的一个实例,每次我想执行某些操作时,我都会调用getCollection()
。
我想知道是否需要显式关闭连接,就像JDBC中的connection.close()
一样。
要强调,我只有一个MongoClient
个实例。我的问题不是关闭MongoClient
,而是关闭我认为在我打电话getCollection()
时打开的关系。
答案 0 :(得分:21)
答案 1 :(得分:3)
如果你有很多MongoClient,你应该关闭。
MongoClient实例实际上代表了一个连接池 数据库;你只需要MongoClient类的一个实例 即使有多个线程。
MongoClient.close()来清理资源
MongoClient.close() - 关闭底层连接器,而后者依次关闭 关闭所有打开的连接。一旦被调用,这个Mongo实例就没有了 更长时间使用。
更多:http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/