mongodb超时配置

编程入门 行业动态 更新时间:2024-10-26 10:28:51

<a href=https://www.elefans.com/category/jswz/34/1771382.html style=mongodb超时配置"/>

mongodb超时配置

springboot.version=2.3.5.RELEASE
spring-cloud-dependencies.version=Hoxton.SR9

xml中引入


<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

yml中引入

spring:  data:mongodb:uri: mongodb://192.168.1.93:27017/rongtong_goodsreadTimeout: 0connectTimeout: 10000
集群或者用户配置如下
##mongodb://user:pwd@ip1:port1,ip2:port2/database?replicaSet=myReplicaSet 

新建配置类和启动setting配置


import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;@Data
@ConfigurationProperties(prefix = "spring.data.mongodb")
public class MongoSettingProperties {private Integer readTimeout;private Integer connectTimeout;
}import com.mongodb.MongoClientSettings;
import com.mongodb.client.MongoClient;
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;import java.util.concurrent.TimeUnit;@Configuration
@EnableConfigurationProperties(MongoSettingProperties.class)
@ConditionalOnClass(MongoClient.class)
@AutoConfigureBefore(MongoAutoConfiguration.class)
public class MongoDbAutoConfiguration {@Bean@Order(0)public MongoClientSettings mongoClientSettings(MongoSettingProperties setting) {return MongoClientSettings.builder().applyToSocketSettings(i ->i.readTimeout(setting.getReadTimeout(), TimeUnit.MILLISECONDS).connectTimeout(setting.getConnectTimeout(), TimeUnit.MILLISECONDS)).build();}}

如果想禁用mongo或Mq自动加载添加

@SpringBootApplication(exclude = {RabbitAutoConfiguration.class, MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})

之后自己配置启动

@Bean
public MongoTemplate mongoOptions() {return new MongoTemplate(createMongoDBClient(), "数据库db名称");
}
public MongoClient createMongoDBClient(){return MongoClients.create(MongoClientSettings.builder().applyToConnectionPoolSettings(i ->i.minSize(minSize).maxSize(maxSize)).applyConnectionString(new ConnectionString("上面入住的uri")).applyToSocketSettings(i ->i.connectTimeout(connectTimeout, TimeUnit.MILLISECONDS).readTimeout(socketTimeout, TimeUnit.MILLISECONDS)).build());}

更多推荐

mongodb超时配置

本文发布于:2024-03-04 16:08:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1709747.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:mongodb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!