【问题标题】:why 2 connections open when calling MongoClient instance in mongodb为什么在 mongodb 中调用 MongoClient 实例时打开 2 个连接
【发布时间】:2016-06-24 11:26:51
【问题描述】:

以下代码正在获取 mongodb 连接

val SERVER:ServerAddress = {

val hostName=config.getString("db.hostname")

val port=config.getString("db.port").toInt
        new ServerAddress(hostName,port)
          }

val DATABASE:String   = config.getString("db.dbname")

val connectionMongo = MongoConnection(SERVER)

我认为它应该创建一个连接,但在 mongod 控制台中它显示 2 个连接为什么会发生这种情况

2016-06-24T16:20:15.412+0500 [initandlisten] waiting for connections on port 27017
2016-06-24T16:20:38.543+0500 [initandlisten] connection accepted from 127.0.0.1:45712 #1 (1 connection now open)
2016-06-24T16:20:38.560+0500 [initandlisten] connection accepted from 127.0.0.1:45713 #2 (2 connections now open)

【问题讨论】:

    标签: java mongodb scala mongodb-java casbah


    【解决方案1】:

    MongoClient 在内部维护一个连接池。默认大小为 10,iirc,并且是惰性填充的。您可能看到的是连接到服务器以执行各种内务工作(例如拓扑发现)的驱动程序。

    【讨论】:

    • 所以当我们实例化 MongoClient 时它接受两个连接而不是一个就可以了
    猜你喜欢
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2018-10-12
    • 2012-02-28
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多