Using Morphia and mongo-java-driver, I'm connecting to a mongo server:
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);
Where serverAddressList is the host:port list and mongoCredential using kerberos auth are created as:
MongoCredential mongoCredential = MongoCredential.createGSSAPICredential("user@REALM.COM");
I want to setup a custom Connection Pool Parameters using:
- maxPoolSize
- minPoolSize
- maxIdleTimeMS etc.
To achieve this I found ConnectionPoolSettings.Builder and com.mongodb.connection.ConnectionPoolSettings Classes.
I searched a sample code here:
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();
Can someone please suggest a way of applying these settings to get an Instance of MongoClient ?
Libraries which are being used:
dependencies {
compile 'org.mongodb:mongodb-driver-sync:3.4.3'
}