Используя Morphia и mongo-java-driver, я подключаюсь к серверу mongo:
MongoClientOptions.Builder builder = MongoClientOptions.builder();
builder.sslEnabled(true);
builder.sslInvalidHostNameAllowed(true);
builder.maxConnectionIdleTime(0);
MongoClientOptions sslOptions = builder.build();
MongoClient mongoClient = new MongoClient(serverAddressList, Arrays.asList(mongoCredential), sslOptions);
Где serverAddressList - это хост : порт , список и mongoCredential с использованием аутентификации kerberos создаются как:
MongoCredential mongoCredential = MongoCredential.createGSSAPICredential("user@REALM.COM");
Я хочу настроить пользовательские параметры пула соединений, используя:
- MaxPoolSize
- minPoolSize
- maxIdleTimeMS и т. Д.
Для этого я нашел ConnectionPoolSettings.Builder и com.mongodb.connection.ConnectionPoolSettings Классы.
Я искал образец кода здесь :
ConnectionPoolSettings connectionPoolSettings = ConnectionPoolSettings
.builder()
.minSize(MIN_MONGO_POOL_SIZE)
.maxSize(MONGO_POOL_SIZE)
.build();
MongoClientSettings settings = MongoClientSettings
.builder()
.readPreference(MONGO_READ_PREFERENCE)
.credentialList(credentialsList).clusterSettings(clusterSettings)
.connectionPoolSettings(connectionPoolSettings).build();
Может кто-нибудь предложить способ применения этих настроек для получения экземпляра MongoClient?
Библиотеки, которые используются:
dependencies {
compile 'org.mongodb:mongodb-driver-sync:3.4.3'
}