Spring Boot和Vaadin 7 - 设置会话超时无效

时间:2015-04-07 09:15:52

标签: java spring-boot session-timeout vaadin7

我正在使用Vaadin 7.3.9和Spring Boot 1.2.1.RELEASE,我想将我的应用程序的会话超时设置为15分钟。

现在我正在做以下事情:

在application.properties

#session timeout in seconds
server.sessionTimeout=900

在Vaadin Servlet配置中:

@VaadinServletConfiguration(productionMode = false, ui = AppUI.class, closeIdleSessions = true)
public class AppServlet extends VaadinServlet {
}

然后我从中制作一个豆子:

@Configuration
public class ServletConfiguration {
  @Bean
  public ServletRegistrationBean vaadin() {
    return new ServletRegistrationBean(new AppServlet(), "/app/*", "/VAADIN/*");
  }
}

此外,我遵循 Vaadin书

的规则
  

会话超时应该比心跳间隔长,否则会在心跳保持活动之前关闭会话。

我没有设置此参数,因此默认值适用(再次来自 Book of Vaadin ):

  

可以使用heartbeatInterval参数指定心跳请求的间隔(以秒为单位),作为整个Web应用程序的上下文参数或单个servlet的init参数。默认值为300秒(5分钟)。

不幸的是,15分钟后申请仍然存在。我做错了什么?

1 个答案:

答案 0 :(得分:0)

我设法找出自己出了什么问题。我在我的应用程序中使用进度条,所以我在全局设置了轮询间隔。在进度发生之前打开它,在工作完成时关闭它就足够了 - 不需要一直保持它。

这意味着上面的代码完成了我期望它做的事情。