如何使用spring boot应用程序在嵌入式jetty中配置异步超时

时间:2016-08-09 13:32:44

标签: spring-boot jetty embedded-jetty jetty-9

我正在使用一个使用弹簧靴的嵌入式码头容器。如果我的请求花了太长时间,Jetty就失败了。在码头日志中,我看到了这一点:

异步超时后发送

所以,我认为异步超时了。但是,我找不到将此超时更新到更高值的位置。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

Spring mvc支持应用程序属性spring.mvc.async.request-timeout,它是异步请求处理的超时(以毫秒为单位)。 用spring-webmvc-4.3.2.RELEASE

验证

答案 1 :(得分:2)

您可以在应用程序上下文中添加JettyServerCustomizer来自定义Jetty:

@Bean
JettyServerCustomizer jettyCustomizer() {
    return new JettyServerCustomizer() {
        @Override
        public void customize(Server server) {
            //do something
        }
    };
}

但我认为您正在寻找的配置是AsyncContext级别,并且由Spring MVC处理。试试这个配置:

@Configuration
public static class MvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
        configurer.setDefaultTimeout(60000);
    }
 }