如何在Spring Boot 2应用程序中设置Tomcat unloadDelay?

时间:2018-03-29 09:42:43

标签: java spring tomcat spring-boot

默认值为2000毫秒,这不足以让我的应用程序中的请求完全干净。

https://tomcat.apache.org/tomcat-8.5-doc/config/context.html

1 个答案:

答案 0 :(得分:1)

从Spring Booot 2开始,您可以使用:

@Bean
public ServletWebServerFactory servletWebServerFactory() {
    TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
    tomcat.addContextCustomizers(context -> {
        if(context instanceof StandardContext) {
            ((StandardContext)context).setUnloadDelay(8000);
        }
    });
    return tomcat;
}

在Spring Boot 2之前this was different,您必须使用TomcatEmbeddedServletContainerFactory代替TomcatServletWebServerFactoryEmbeddedServletContainerFactory而不是ServletWebServerFactory