java - Spring Boot 和 mongo db 中的连接池
问题描述
我正在通过 Spring Boot 应用程序和 mongoDb 连接 POC。我添加了以下依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
我还浏览了带有属性的 mongoB 属性:https ://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html
请问我们如何在这里定义连接池机制?
解决方案
您不能使用应用程序属性开箱即用地执行此操作。您需要使用 MongoClientOptions 来配置连接池的各个方面。
查看文档以了解各种可用选项。
这是一个简单的例子。
@Bean(name="mongoTempl")
public MongoTemplate mongoTempl() throws Exception {
return new MongoTemplate(createMongoClient(new ServerAddress(host, port))
,dbName);
}
Mongo createMongoClient(ServerAddress serverAddress) {
final MongoClientOptions options = MongoClientOptions.builder()
.threadsAllowedToBlockForConnectionMultiplier(...)
.connectionsPerHost(...)
.connectTimeout(...)
.maxWaitTime(...)
.socketKeepAlive(...)
.socketTimeout(...)
.heartbeatConnectTimeout(...)
.minHeartbeatFrequency(...)
.build();
return new MongoClient(serverAddress, options);
}
推荐阅读
- python - Python乌龟中的重复功能
- python-3.x - Django ModelManager 没有正确保存模型实例
- sql - CASE WHEN 中的 COUNT 导致 Invalid Column 错误
- python - Selenium webdriver url链接组合错误
- list - 如何在 Prolog 中将列表翻译成另一个列表
- python - 您可以通过 sklearn 中的特定列吗?
- javascript - 从夹具错误中提取数据:无法读取未定义的属性“键”
- java - 如何拒绝没有特定角色的所有请求 - SpringBoot 安全配置
- javascript - 安全方法 javascript
- reactjs - set 函数不会在 React with Recoil 中触发更新