首页 > 解决方案 > EmbeddedServletContainerCustomizer 在 Spring Boot 2 中无法用于配置会话超时

问题描述

我有一个 Spring Boot 应用程序,我在其中使用EmbeddedServletContainerCustomizer. 它适用于 Spring Boot 版本1.5.4.RELEASE。以下是代码。

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
        return (container -> {
            container.setSessionTimeout(24, TimeUnit.HOURS);  // session timeout value
        });
}

现在我正在尝试将 Spring Boot 版本升级到2.0.1.RELEASE. 上面的代码不起作用。任何人都可以帮助解决这个问题。

标签: spring-boot

解决方案


经过一番搜索,我找到了答案。发布相同的内容,因为这可以帮助其他人:代码需要更改;

@Bean
public WebServerFactoryCustomizer<TomcatServletWebServerFactory> sessionManagerCustomizer() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        return server -> server.addContextCustomizers(context -> context.setSessionTimeout(24 * 60));
}

推荐阅读