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

时间:2015-08-19 18:47:45

标签: java tomcat7 wicket wicket-6

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

如tomcat文档中所述,我配置web.xml将其设置为此 方式

  //split the script on "GO" commands
                string[] splitter = new string[] { "\r\nGO\r\n" };
                string[] commandTexts = data.Split(splitter,
                  StringSplitOptions.RemoveEmptyEntries);

  foreach (string commandText in commandTexts)
  {
    SqlCommand cmdScript = new SqlCommand(commandText, conn);
    cmdScript.ExecuteNonQuery();               
   }

为了测试这个工作正常我用5分钟尝试了第一次,一切都按预期工作。

但是,当我在60分钟内开始会话时,会议在30分钟到期,公平地说,这就是我的考试。

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

现在只是想检测这是一个检票口问题还是tomcat7问题,需要很长时间才能测试: - )。

有没有人遇到过类似的问题

非常感谢

托尼奥

2 个答案:

答案 0 :(得分:1)

Wicket不会在任何地方读取/写入会话超时,因此不应该责怪。您可以尝试使用只有Servlet进行验证的简单应用程序。

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

设置此设置的方法

答案 1 :(得分:0)

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

就我而言:

  1. 创建/配置HttpSessionListener
  2. 配置sessionCreated()方法以设置从属性文件中获取的maxInactiveInterval。
  3. 完美无缺 谢谢所有