java - 带有 Cosmos DB 的 Spring Boot 应用程序 SocketException
问题描述
我正在从 Spring Boot 应用程序连接到 Azure 上的远程 Cosmos DB(使用 Mongo DB API)。我使用spring-boot-starter-data-mongodb
所有默认设置连接到数据库。
过了一会儿,我经常看到一个 SocketException 被抛出,这导致所有当前的数据库连接都被 mongo 驱动程序关闭。
我只能在连接到远程 Cosmos DB 时重现此问题。在针对本地 MongoDB 容器进行测试时,我无法重现该问题。
解决方案
该问题通过限制我的 Spring Boot 应用程序的 mongo 配置中的最大连接空闲和生命周期来解决。
似乎 CosmosDB(或其他 Azure 机制)突然终止了与数据库的长期连接。
推荐阅读
- sql-server - 通过 docker 创建的默认 SQL Server 凭据是什么?
- kubernetes - python-arango 库的 SSL 证书错误
- python - Pytest 在 src 下添加一个新文件并获取测试以查看它
- apt - apt install fftw3 没有创建必要的符号链接,怎么办?
- google-chrome - 网格子高度 = 100% 在 Safari 和 Chrome 中的行为不同
- scala - 找不到参数写入错误的隐式值,但我使用宏定义了处理程序
- java - 使用 RestAssure 和 WireMock 实现验收测试
- python - 根据数据框中的其他行值创建列
- aws-fargate - 我们如何在 AWS 中部署 Backstage 应用程序?部署架构工作流程是什么?
- c - C 结构与 Fortran 的互操作