【发布时间】:2019-12-05 17:00:52
【问题描述】:
我们有 mongodb 作为数据存储,还有一个 MongoClient 用于连接池。
问题是是否显式使用 MongoClient.close 来关闭连接池。
这是我到目前为止所探索的内容。
close API 的文档说 关闭与此实例关联的所有资源,尤其是任何打开的网络连接。一旦被调用,这个实例和从它获得的任何数据库都不能再被使用。
但是当我提到关于这个主题的其他问题时,它说你可以执行你的操作并且不需要像 MongoClient.close 这样显式地管理操作,因为这个对象会自动管理连接池。 em>
两者都是矛盾的。如果我要遵循第二个,它的缺点是什么?
当mongoclient对象从jvm取消引用时,池中的连接会被关闭吗? 还是连接会在特定时间段内保持打开状态然后过期? 我想知道这种方法的实际缺点是什么。对此的任何指示都非常感谢。
IMO,在服务器关闭时使用 close 似乎是一种干净的方法。 但我想就此获得专家意见。
【问题讨论】:
标签: mongodb connection-pooling