【发布时间】:2014-01-21 12:51:31
【问题描述】:
我的程序需要打开大量连接(Mongo)。我得到错误:
打开的连接太多,无法再打开
在 819 连接之后。我已经知道我们可以提高这个限制。但这不是我的想法。我正在考虑关闭 MongoClient 对象,然后在 800 个连接后再次创建一个新对象。
我的想法是,使用新的 mongoClient 对象,所有连接都将关闭,当我再次启动/创建它时,连接将再次打开,直到 800。 因此不给出错误。 (让我知道这种方法是否完全错误/不会给出所需的结果。)
为此,我需要知道打开 ATM 的连接数。有没有办法使用 java 获取这些信息?
【问题讨论】:
-
为什么一开始有这么多的开放空间? MongoClient 内部已经有一个连接池。您应该只创建一个并重用它。你创建了很多 MongoClients 吗?
-
我正在使用的程序是用于研究目的,试图生成大量数据并对其进行分析。因此有这么多的联系。 (我正在使用多线程)我有几个 mongo 客户端。
-
有了这个你可以创建一个单例连接器stackoverflow.com/a/26085824/2093371
标签: java mongodb mongodb-java