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

Spring boot 如何使用spring引导应用程序在嵌入式jetty中配置异步超时,spring-boot,jetty,embedded-jetty,jetty-9,Spring Boot,Jetty,Embedded Jetty,Jetty 9,我使用的是使用spring boot的嵌入式jetty容器。如果我的请求时间过长,Jetty将在503上失败。在码头日志中,我看到: 异步超时后的调度 因此,我假设异步超时。但是,我找不到将此超时更新为更高值的位置 有什么想法吗 您可以在应用程序上下文中添加一个JettyServer自定义程序,以自定义Jetty: @Bean JettyServerCustomizer jettyCustomizer() { return new JettyServerCustomizer() {

我使用的是使用spring boot的嵌入式jetty容器。如果我的请求时间过长,Jetty将在503上失败。在码头日志中,我看到:

异步超时后的调度

因此,我假设异步超时。但是,我找不到将此超时更新为更高值的位置


有什么想法吗

您可以在应用程序上下文中添加一个
JettyServer自定义程序
,以自定义Jetty:

@Bean
JettyServerCustomizer jettyCustomizer() {
    return new JettyServerCustomizer() {
        @Override
        public void customize(Server server) {
            //do something
        }
    };
}
但是我认为您正在寻找的配置是
AsyncContext
级别的,由SpringMVC处理。尝试以下配置:

@Configuration
public static class MvcConfig extends WebMvcConfigurerAdapter {

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

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

异步超时可指异步处理(即Servlet 3.0中的AsyncContext)或异步I/O(Servlet 3.1中的AsyncContext)。您关心哪一个?从我所做的调试来看,它指的是异步上下文。