【问题标题】:How can I set Tomcat unloadDelay in a Spring Boot 2 application?如何在 Spring Boot 2 应用程序中设置 Tomcat unloadDelay?
【发布时间】:2018-09-08 05:13:42
【问题描述】:

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

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

【问题讨论】:

  • 放到tomcat context.xml里面有问题吗?
  • 我不知道如何在 Spring Boot 应用程序中做到这一点。在我看来,所有这些都是以编程方式完成的?

标签: java spring tomcat spring-boot


【解决方案1】:

从 Spring Boot 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

【讨论】:

    猜你喜欢
    • 2016-08-10
    • 1970-01-01
    • 2015-11-21
    • 2017-08-03
    • 1970-01-01
    • 2017-12-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    相关资源
    最近更新 更多