spring boot 2.2中默认的rest api超时是啥
Posted
技术标签:
【中文标题】spring boot 2.2中默认的rest api超时是啥【英文标题】:What is default rest api time out in spring boot 2.2spring boot 2.2中默认的rest api超时是什么 【发布时间】:2020-10-16 18:53:07 【问题描述】:什么是 spring boot 2.2 中的默认 api 超时以及我如何更改它。是用于更改超时的任何属性键。 我想在 10 秒后设置超时。
【问题讨论】:
@Transactional 注释带有一个超时参数,您可以在其中为 RestController 中的特定方法指定超时时间(以秒为单位) 【参考方案1】:通过@Transactional 注解,您可以为@RestController 中的特定方法指定超时(以秒为单位)。
@RequestMapping(value = "/method",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
@Transactional(timeout = 120)
【讨论】:
【参考方案2】:在您的 application.properties 或 application.yml 中使用设置 server.connection-timeout=10000。
server.connection-timeout - 连接器在关闭连接之前等待另一个 HTTP 请求的时间(以毫秒为单位)。未设置时,将使用连接器的特定于容器的默认值。使用值 -1 表示没有(即无限)超时。
【讨论】:
我已经在应用中添加了server.tomcat.connection-timeout=30s,但是超时不起作用 你是在tomcat上运行还是在spring boot自己的servlet容器上运行?我想上面提到的设置仅适用于 spring boot 自己的 servlet 容器 您还可以看到这篇 (baeldung.com/spring-boot-configure-tomcat) 文章。这可能会有所帮助,但它们也使用相同的设置,但是它们将值设置为字符串 - 5s 持续 5 秒以上是关于spring boot 2.2中默认的rest api超时是啥的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot Rest Controller:返回默认错误 JSON
spring-boot实战04:Spring Boot构建RESTful API