1.编写配置类MongoConfig.java
@Configuration
public class MongoConfig {
@Bean
MongoClientSettings mongoClientSettings() {
MongoClientSettings.Builder builder = MongoClientSettings.builder();
builder.applyToConnectionPoolSettings(b -> {
// 允许的最大连接数。这些连接在空闲时将保留在池中。一旦池耗尽,任何需要连接的操作都将阻塞等待可用连接 默认: 100
b.maxSize(100);
// 最小连接数。这些连接在空闲时将保留在池中,并且池将确保它至少包含这个最小数量 默认: 0
b.minSize(18);
// 池连接可以存活的最长时间。零值表示寿命没有限制。超过其生命周期的池连接将被关闭并在必要时由新连接替换
b.maxConnectionLifeTime(0, TimeUnit.SECONDS);
// 池连接的最大空闲时间。零值表示对空闲时间没有限制。超过其空闲时间的池连接将被关闭并在必要时由新连接替换
b.maxConnectionIdleTime(5, TimeUnit.MINUTES);
});
return builder.build();
}
@Bean
MongoPropertiesClientSettingsBuilderCustomizer mongoPropertiesCustomizer(MongoProperties properties,
Environment environment) {
return new MongoPropertiesClientSettingsBuilderCustomizer(properties, environment);
}
}
2.启动测试,默认初始化18个连接