I\'m holding one instance of MongoClient
and DB
in my application, and every time that I want to execute some operation I call getCollection(
No, you do not need to close connections to DB - your only connection is via MongoClient and as the documentation states - it handles connection pooling for you.
The only resource that you would want to clean up would be a cursor which you should close() when you're done with it.
You should close if you have many MongoClient.
The MongoClient instance actually represents a pool of connections to the database; you will only need one instance of class MongoClient even with multiple threads.
MongoClient.close() to clean up resources
MongoClient.close() - closes the underlying connector, which in turn closes all open connections. Once called, this Mongo instance can no longer be used.
More: http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/