You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2中EmbeddedServletContainerCustomizer配置会话超时失效

解决Spring Boot 2.x中会话超时配置的问题

嗨,这个问题我升级Spring Boot版本时也碰到过!Spring Boot 2.0+对嵌入式Servlet容器的定制接口做了调整,你之前用的EmbeddedServletContainerCustomizer已经被移除了,取而代之的是WebServerFactoryCustomizer接口,把代码改成下面这样就能正常工作啦:

@Bean
public WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> webServerFactoryCustomizer() {
    return factory -> {
        factory.setSessionTimeout(24, TimeUnit.HOURS);
    };
}

补充说明:

  • ConfigurableServletWebServerFactory是通用配置接口,适配Tomcat、Jetty、Undertow等所有Spring Boot支持的嵌入式容器,不用纠结当前用的是哪种容器,这个写法都能生效。
  • 如果需要对特定容器做更细致的定制(比如Tomcat的线程池、连接数等),可以换成对应容器的专属Factory(比如TomcatServletWebServerFactory),但仅针对会话超时需求的话,上面的通用写法完全够用。

另外,如果你觉得编程配置麻烦,也可以直接用配置文件实现,更简洁:

# application.properties
server.servlet.session.timeout=24h
# application.yml
server:
  servlet:
    session:
      timeout: 24h

内容的提问来源于stack exchange,提问作者Arpan Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:47:50