在Vaadin应用程序中忽略Glassfish会话超时

时间:2012-11-13 05:54:03

标签: java glassfish vaadin session-timeout

我们正在使用Vaadin应用程序,并且在使用时,Vaadin最终会显示错误“会话已过期”,但在主持此应用程序的Glassfish中,会话超时设置为8小时(远远超过最后一段时间)访问并获得'会话过期')。在调试应用程序之后,我们挖出了这个东西:在加载页面时,Vaadin使用request.getSession(true)请求会话,以便后续的ajax请求使用request.getSession(false);并最终request.getSession(false)返回null,因此会显示session expired消息。似乎Web容器忽略了会话超时设置。

1 个答案:

答案 0 :(得分:2)

Glassfish中的默认会话超时为30分钟。如果这符合您的体验,则会以某种方式完全忽略8小时(28800秒)的超时设置。

您可以在glassfish-web.xml中指定超时: glassfish-web-app> session-config>会话属性>设置的时间

或者您可以在web.xml文件中指定session-timeout元素。这会覆盖timeoutSeconds值。