I am migrating an application from using MongoDB Java driver v. 3.6.4 to v. 4.1.1
In 3.6.4 configuration is passed via MongoClientOptions
@Bean
public MongoClientOptions mongoOptions() {
return MongoClientOptions.builder()
.connectTimeout(...)
.serverSelectionTimeout(..)
.socketTimeout(...)
.build();
}
In 4.1.1 MongoClientOptions has been deprecated, and I am utilizing MongoClientSettings class http://mongodb.github.io/mongo-java-driver/4.1/apidocs/mongodb-driver-core/com/mongodb/MongoClientSettings.Builder.html
@Bean
public MongoClientSettings mongoOptions() {
return MongoClientSettings.builder()
.applyToSocketSettings(builder ->
builder.applySettings(builder()
.connectTimeout(config.getConnectTimeout(), MILLISECONDS).build()))
.applyToClusterSettings(builder ->
builder.serverSelectionTimeout(config.getServerSelectionTimeout(), MILLISECONDS).build())
.build();
}
However I can't find setting to configure connectTimeout (apart from supplying connection string via applyConnectionString method.