运行在tomcat 7中的Wicket应用程序不允许设置超过30分钟的超时会话



我正在tomcat 7中运行一个wicket应用程序,并试图将超时时间设置为60分钟。

如tomcat文档中所述,我将web.xml配置为这样

<session-config>
    <session-timeout>60</session-timeout>
</session-config>

为了测试这是否正常工作,我尝试了5分钟,一切都如预期的那样工作。

但是当我在60分钟内开始时,会话在30分钟结束,公平地说,35分钟左右是我的测试。

我在网上看了一下,虽然有些人提到了这个问题,但没有提供解决方案或错误评论。

现在只是试图检测这是一个wicket问题还是一个tomcat7问题,需要很长时间来测试:-)。

有人遇到过类似的问题吗

Thanks very much

托尼奥

Wicket不会在任何地方读取/写入会话超时,所以它不应该受到指责。您可以尝试使用一个简单的应用程序,其中只有一个Servlet来验证。

Servlet API提供了一种使用http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpSession.html#setMaxInactiveInterval(int)

设置此设置的方法。

解决方案是martin -g所描述的

在我的例子中:

  1. 创建/配置HttpSessionListener
  2. 配置sessionCreated()方法来设置从属性文件中获取的maxInactiveInterval

工作得很好谢谢所有的

最新更新