【发布时间】:2021-03-19 05:08:16
【问题描述】:
我正在将应用程序从使用 MongoDB Java 驱动程序 v. 3.6.4 迁移到 v. 4.1.1
在 3.6.4 中配置是通过 MongoClientOptions 传递的
@Bean
public MongoClientOptions mongoOptions() {
return MongoClientOptions.builder()
.connectTimeout(...)
.serverSelectionTimeout(..)
.socketTimeout(...)
.build();
}
在 4.1.1 MongoClientOptions 已被弃用,我正在使用 MongoClientSettings 类 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();
}
但是我找不到配置 connectTimeout 的设置(除了通过 applyConnectionString 方法提供连接字符串。
【问题讨论】:
-
是的,你可以在我的例子中看到它。