关于java中httpsession timeout的问题

tianpeng91 发布于 2012/08/12 16:32
阅读 1K+
收藏 0
小弟在做一个项目时需要监听sessoin的创建与销毁,但发生了一个很奇怪的问题,就是当我在web.xml中设置 <session-timeout>1</session-timeout>,也就是一分钟的时候,可是他的过期时间计时过,竟然不是一分钟,有时间半分钟,有时候一分多钟,这是为什么呢?很奇怪,求大神解释!!!
加载中
0
tianpeng91
tianpeng91
有没有大神可以帮忙解释下这是为什么呢??在线等啊,都等了半个小时了,木人回答我啊
tianpeng91
tianpeng91
session的过期时间和我设定的有差别
红火
什么问题
0
逝水fox
逝水fox

Tomcat的源码是这样写的,因为是整除1000应该不大可能出现楼主你说的这种少于1分钟的情况。expire就是失效操作

if (maxInactiveInterval > 0) {
    long timeNow = System.currentTimeMillis();
    int timeIdle;
    if (LAST_ACCESS_AT_START) {
        timeIdle = (int) ((timeNow - lastAccessedTime) / 1000L);
    } else {
        timeIdle = (int) ((timeNow - thisAccessedTime) / 1000L);
    }
    if (timeIdle >= maxInactiveInterval) {
        expire(true);
    }
}

 

tianpeng91
tianpeng91
额,,,要不,你写个测试类试下。、。。
返回顶部
顶部