spring - Spring - server.connection-timeout 如何在内部工作?
问题描述
我对 server.connection-timeout 属性如何在 Spring Boot REST API 项目上工作感到困惑
我有一个 Spring Boot REST API 项目,其中我有一个删除 REST API,这基本上会对数据库表执行几个删除操作,例如这个删除 API 将删除 3 个表上的一些行,如下所示
删除 API 获取“客户 ID”作为输入并执行以下操作
- 删除与表 A 中客户 ID 匹配的所有记录(删除对外部数据库的调用)
- 删除表 B 中与客户 ID 匹配的所有记录(删除对外部数据库的调用)
- 删除表 C 中与客户 ID 匹配的所有记录(删除对外部数据库的调用)
我的问题是如果我将“server.connection-timeout”设置为 5 秒,这实际上意味着什么?
我有 2 两个假设
- 删除 Rest Api 将在 5 秒内超时,这意味着所有 3 个外部数据库调用必须在 5 秒内完成,否则 REST API 将超时
- 每个外部数据库调用将有 5 秒超时,在这种情况下总共 15 秒
在最坏的情况下,如果所有 3 个外部数据库调用都需要 4 秒,那么删除 API 将需要 12 秒来响应 - 这是有效的吗?
解决方案
我觉得你很困惑。server.connection-timeout – 连接器在关闭连接之前等待另一个 HTTP 请求的时间。
完成请求需要多少时间并不重要。在您的情况下,如果 server.connection-timeout 为 5,这不会影响您提到的 #1 #2 或 #3 删除。
简单来说,连接超时不适用于长时间运行的请求。相反,它适用于初始连接,当服务器等待客户端请求某些内容时。
默认值:使用连接器的容器特定默认值。使用值 -1 表示无限超时。
推荐阅读
- .net - RPA 中支持记录器、执行功能等特性/功能的底层技术是什么
- c# - 按条件分组并为每个组创建不同的匿名模型 EF6
- cron - 在 Apple M1 中使用 crontab 时 for 循环不起作用
- python - Python Pygame俄罗斯方块克隆中的重复行
- vb.net - Guna.UI 应用程序未打开,即使 dll 已合并
- c# - 执行策略“SqlServerRetryingExecutionStrategy”不支持用户发起的事务
- forms - 创建新表格
- c++ - 信号量和内存排序
- reactjs - 阻止 iframe 导航并在 React 中获取链接
- java - 一次又一次出现同样的错误 - '编码密码看起来不像 BCrypt '