相关疑难解决方法(0)

Spring - server.connection-timeout无效

在我的application.properties文件中,我有......

server.port=8086
server.connection-timeout=15000
Run Code Online (Sandbox Code Playgroud)

我知道文件正在正确加载,因为服务器在端口8086上运行.

在应用程序中,我有一个 RestController

@RestController
class TestController {
    @GetMapping()
    fun getValues(): ResponseEntity<*> {
        return someLongRunningProcessPossiblyHanging()
    }
}
Run Code Online (Sandbox Code Playgroud)

当我调用端点时,请求永远不会超时,它只是无限期挂起.

我错过了什么吗?

注意:我也被告知Tomcat在几分钟内使用此字段,而不是毫秒(相当不寻常的选择IMO).我已经尝试将其设置为server.connection-timeout=1表示1分钟,但这也不起作用.

注意:我不希望另一个 HTTP请求导致先前的请求超时,我希望每个HTTP请求自己超时,如果过多的时间过去服务请求.

java spring kotlin spring-boot

15
推荐指数
1
解决办法
1万
查看次数

Springboot TomcatEmbeddedServletContainer KeepAliveTimeout无效

我已经在spring boot embeded tomcat server中将keep alive timeout设置为30秒.所以我在Application.java中使用下面的,

@Bean   
public EmbeddedServletContainerFactory getEmbeddedServletContainerFactory() {
    TomcatEmbeddedServletContainerFactory containerFactory = new TomcatEmbeddedServletContainerFactory();
    containerFactory
            .addConnectorCustomizers(new TomcatConnectorCustomizer() {
                @Override
                public void customize(Connector connector) {
                    ((AbstractProtocol) connector.getProtocolHandler())
                            .setKeepAliveTimeout(30000);
                }
            });

    return containerFactory;
}
Run Code Online (Sandbox Code Playgroud)

然后我从我的休息控制器睡了40秒的请求线程.但是当我通过邮递员发出请求时,它成功返回HTTP状态代码200,而不应该返回网关超时错误.

我尝试setConnectionTimeout和setKeepAliveTimeout,它不起作用.

我在这里失踪了什么?

编辑问题:我最初的问题

让我解释一下我的原始问题,这个问题引导我提出上述问题.

好吧,我有一个很长的民意调查过程,通常运行超过5分钟.

那么当我为longpoll调用Rest API时会发生什么,在2.2分钟后我在浏览器中得到504 http错误.

我正在使用AWS环境,其中我有一个安装在AWS EC2实例中的ELB和HAProxy.

根据AWS doc,它表示ELB的默认空闲连接超时为60秒.所以我把它增加到最多30分钟.

而且它说,

如果您使用HTTP和HTTPS侦听器,我们建议您为EC2实例启用keep-alive选项.您可以在Web服务器设置或EC2实例的内核设置中启用keep-alive.

因此,将上面的代码片段中的嵌入式tomcat保持活动超时增加到30.2分钟

所以现在我希望我的长轮询请求能够完成,而不会出现504错误.但是我仍然在浏览器中出现504错误?

参考:AWS开发指南

java spring tomcat spring-boot

1
推荐指数
1
解决办法
9081
查看次数

标签 统计

java ×2

spring ×2

spring-boot ×2

kotlin ×1

tomcat ×1