2016-06-29 9 views
0

Я использую Касба SCALA drvier для MongoDB вот как я создаю MongoClient экземплярconnectionsPerHost и MaxSize возвращает 10, когда инстанцировании MongoCleint

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) 

Когда я отлаживать эту строку val connectionMongo = MongoConnection(SERVER) в разделе переменных внутри экземпляра MongoClient я вижу ConnectionsPerHost равен 10 и в переменной настройки Connectio Pool я вижу maxSize - 10, поэтому я хочу знать, что это значит? означает ли это, что у нас есть один пул соединений, созданный экземпляром MongoClient, и у нас есть 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

Это потому, что MongoClient создает ленивый населенный внутренний пул соединений. Размер по умолчанию этого пула равен 10. Что вы должны видеть в своем отладке. Еще одно замечание, которое вы можете испытать, состоит в том, что, несмотря на то, что у вас всего 1 соединение, вы можете увидеть более одного соединения в журнале сервера. Другое соединение, как правило, одно из пула, и это может быть ваш водитель, выполняющий текущее обслуживание в БД.

 Смежные вопросы

  • Нет связанных вопросов^_^