MongoDB 连接池关闭

MongoDB Connection Pooling Shutdown

我们有 mongodb 作为数据存储,还有一个用于连接池的 MongoClient。

问题是是否显式使用 MongoClient.close 关闭连接池。

以下是我到目前为止对此的探索。

关闭文档 API 说 关闭与此实例关联的所有资源,尤其是所有打开的网络连接。一旦调用,此实例和从中获取的任何数据库都不能再使用。

但是当我提到关于这个主题的其他问题时,它说 你可以执行你的操作,不需要像 MongoClient.close 那样显式管理操作,因为这个对象自动管理连接池。

两者都是矛盾的。如果我跟随第二个,它的缺点是什么?

当mongoclient 对象从jvm 中取消引用时,池中的连接是否会关闭? 还是连接会在特定时间段内保持打开状态然后过期? 我想知道这种方法的实际缺点是什么。非常感谢任何关于此的指示。

IMO,在服务器关闭时使用 close 似乎是最干净的方法。 但我想就此征求专家意见。

更新:无需通过API显式关闭连接池。 Mongo driver 处理它。