|
@@ -2,6 +2,7 @@ package com.tzld.piaoquan.recommend.server.config;
|
|
|
|
|
|
import com.mongodb.MongoClientSettings;
|
|
|
import com.mongodb.MongoCredential;
|
|
|
+import com.mongodb.ServerAddress;
|
|
|
import com.mongodb.client.MongoClient;
|
|
|
import com.mongodb.client.MongoClients;
|
|
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
@@ -18,6 +19,8 @@ import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
|
|
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
+import static java.util.Collections.singletonList;
|
|
|
+
|
|
|
|
|
|
* @author dyp
|
|
|
*/
|
|
@@ -27,13 +30,22 @@ public class MongoTemplateConfig {
|
|
|
@Bean
|
|
|
public MongoClient mongoClient(CustomMongoProperties properties) {
|
|
|
MongoClientSettings.Builder builder = MongoClientSettings.builder();
|
|
|
+
|
|
|
+ builder.applyToClusterSettings(settings -> {
|
|
|
+ settings.hosts(singletonList(
|
|
|
+ new ServerAddress(properties.getHost(), properties.getPort())));
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
builder.credential(MongoCredential.createCredential(properties.getUsername(), properties.getDatabase(), properties.getPassword()));
|
|
|
builder.applyToConnectionPoolSettings(b -> {
|
|
|
b.minSize(properties.getMinSize());
|
|
|
b.maxSize(properties.getMaxSize());
|
|
|
b.maxWaitTime(properties.getMaxWaitTime(), TimeUnit.MILLISECONDS);
|
|
|
b.maxConnectionIdleTime(properties.getMaxConnectionIdleTime(), TimeUnit.MILLISECONDS);
|
|
|
- b.maxConnectionLifeTime(properties.getMaxConnectionLifeTime(), TimeUnit.MILLISECONDS);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
});
|