1

我已经在 Wildfly 10 上部署了我的高流量 SpringBoot 应用程序。这个应用程序的服务器架构是 nginx(Angular 应用程序)->(反向代理)->wildfly 服务器。由于我们在几个小时内获得高流量,8080 端口(wildfly 应用程序端口)停留在 CLOSE_WAIT,因为 nginx 在一段时间后关闭了连接。

如果请求时间大于 5 秒,我正在寻找配置 Spring Boot 应用程序以关闭连接。

例子:

@GetMapping("test1")
public ResponseEntity test1(){
    return ResponseEntity.ok("TESTED!");
}

@GetMapping("test2")
public ResponseEntity test2() throws InterruptedException{
    Thread.sleep(300000);
    return ResponseEntity.ok("TESTED!");
}

对于test2获取HTTP方法有没有办法配置spring boot application/Wildfly/centos来设置传入请求的连接超时?

4

1 回答 1

0

你可以试试server.connection-timeout=300000你的application.properties.

来自官方文档:

server.connection-timeout = # 连接器在关闭连接之前等待另一个 HTTP 请求的时间(以毫秒为单位)。未设置时,将使用连接器的特定于容器的默认值。使用值-1 表示没有(即无限)超时。

或者您可以尝试使用@Transactional注释并为其设置一个参数:

@Transactional(timeout = 300000)

于 2020-08-04T12:52:56.687 回答