首页 > 解决方案 > 带有 Cosmos DB 的 Spring Boot 应用程序 SocketException

问题描述

我正在从 Spring Boot 应用程序连接到 Azure 上的远程 Cosmos DB(使用 Mongo DB API)。我使用spring-boot-starter-data-mongodb所有默认设置连接到数据库。

过了一会儿,我经常看到一个 SocketException 被抛出,这导致所有当前的数据库连接都被 mongo 驱动程序关闭。

我只能在连接到远程 Cosmos DB 时重现此问题。在针对本地 MongoDB 容器进行测试时,我无法重现该问题。

标签: javamongodbazurespring-bootazure-cosmosdb

解决方案


该问题通过限制我的 Spring Boot 应用程序的 mongo 配置中的最大连接空闲和生命周期来解决。

似乎 CosmosDB(或其他 Azure 机制)突然终止了与数据库的长期连接。


推荐阅读