java - Spring Boot 应用程序 SocketException 与 Cosmos DB

标签 java mongodb azure spring-boot azure-cosmosdb

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

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

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

最佳答案

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

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

关于java - Spring Boot 应用程序 SocketException 与 Cosmos DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62191646/

相关文章:

python - 科学模拟数据的数据持久化,Mongodb + HDF5?

Azure WebJobs TimerTrigger 未触发

macos - Microsoft RDP for mac 没有恢复,每次最小化后都会重新连接新 session

java - 如何获取多个分隔符之间的字符串

java.lang.OutOfMemoryError : Java heap space when using this short program to Remove title bar 错误

java - Java 代码中的 "misplaced construct(s)"靠近 catch

mongodb - 如何返回 ID 为

java - 防止数字在Excel中以指数格式出现

java - 在 Web 应用程序中管理数据库连接的最佳实践

azure - 依赖注入(inject)容器是否在同一个包中的 azure 函数之间共享?