当前位置: 首页 > 面试题库 >

使用Java获取mongoDB中打开的连接数

杜禄
2023-03-14
问题内容

我的程序需要打开大量连接(Mongo)。我得到了错误:

打开的连接太多,无法再打开

在819个连接之后。我已经知道我们可以增加此限制。但这不是我的想法。我正在考虑关闭MongoClient对象,然后在800个连接后再次创建一个新对象。

我的想法是使用新的mongoClient对象将关闭所有连接,并且当我再次启动/创建它时,连接将再次打开直到800。因此不会给出错误。(让我知道此方法是否完全错误/不会提供所需的结果。)

为此,我 需要知道打开ATM的连接数。 有什么办法可以使用Java获取此信息吗?


问题答案:

您可以使用db.serverStatus()命令获取连接信息。它有一个连接子文档,其中包含总/可用的连接信息。

想要查询更多的信息 :

  • 服务器状态文档
  • 连接块的详细信息


 类似资料:
  • 问题内容: 我有一个Java应用程序,它在MongoDB上执行一些聚合,但是有时它会挂起并抛出SocketTimeout异常。异常发生后,应用程序将正常运行(稍等片刻,然后它可能会再次引发异常)。 我刚刚发现这种解释似乎是可能的原因,但不确定。 我启动MongoClient并保持与数据库的连接打开。我不确定这是否可能是一个问题,我应该每次都获取数据库,然后让数据库进行垃圾回收(并关闭连接)。 另一

  • 本文向大家介绍Java中获取MongoDB连接的方法详解,包括了Java中获取MongoDB连接的方法详解的使用技巧和注意事项,需要的朋友参考一下 首先是所需jar包,Maven中的配置如下: 获取连接的代码如下(本中用的是模板类): 或者用如下方式获取: 附带简单增删改查的例子: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 据我所知,每个应用程序只需要一个MongoClient实例,因此为了方便起见,我使用此方法扩展了HttpServlet: 当我运行这个代码时,它工作得很好,我连接并做我需要做的工作,但每次我运行这个特定的Servlet时,它似乎都会不断地打开与mongoDB的新连接: 在页面中我正在这样做: 然后运行一个简单的查询。有人能解释为什么我有这么多新的联系吗?我也见过这个蒙哥。霍尔德班。这是我现在做的事

  • 问题内容: 用Java可以做到吗?连接字符串中的主机无法解析,因此在能够在连接上调用getMetaData之前,我在DataSource的getConnection()中获取了SQLException。 这是我的代码: 由于主机不可访问,将引发异常并导致返回。但是,该异常仅具有诸如之类的错误消息。它没有在连接字符串中给出主机名。我想显示主机名(或连接字符串)以便可以对其进行诊断 问题答案: 这是来

  • 问题内容: 在许多使用MongoDB的入门示例中,您将看到类似以下的代码: 如果MongoDB与任何其他数据库系统一样,并且操作通常在时间上很昂贵。 所以,我的问题是这样的:只需执行一次,将返回值分配给某个全局模块即可,模块中具有各种功能就可以进行各种与数据库相关的工作(将文档插入集合,更新文档等)。 ),然后由应用程序的其他部分调用它们(从而重新使用该值),然后,在应用程序完成后,才执行。 换句

  • 我有一个grails应用程序,它使用quartz每20秒循环一次域类。 每次执行quartz作业时,都会与Mongo建立另一个连接。由于某种原因,前几次没有关闭,因此在11次连接后,作业停止工作(连接超时)。我尝试了另一种方法,通过在操作中调用服务方法来调用URL,但连接数仍在不断增加。当我在没有运行Quartz作业的情况下反复调用URL时,只会创建4个新连接,不再有。 你知道怎么做吗? Grai