我正在使用casbah scala drvier for mongodb这是我如何创建MongoClient
实例
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)
当我在MongoClient实例的变量部分调试此行val connectionMongo = MongoConnection(SERVER)
时,我看到ConnectionsPerHost
等于10,而在Connectio Pool设置变量中我看到maxSize
是10,所以我想要要知道它是什么意思?它的意思是我们有一个由MongoClient Instance创建的连接池,我们有10个连接吗?请解释一下,谢谢
getConnectionPerHost() http://api.mongodb.com/java/current/com/mongodb/MongoClientOptions.html#getConnectionsPerHost--
getMaxSize() http://api.mongodb.com/java/current/com/mongodb/connection/ConnectionPoolSettings.html#getMaxSize--
答案 0 :(得分:0)
这是因为MongoClient创建了一个延迟填充的内部连接池。此池的默认大小为10.您必须在调试中看到该大小。您可能遇到的另一个观察是,尽管您只有1个连接,但您可能会在服务器日志中看到多个连接。另一个连接通常是池中的一个连接,它可以是您的驱动程序在DB上进行例行维护。