2
回答
关于java中httpsession timeout的问题
科大讯飞通用文字识别100000次/天免费使用。立即申请   
小弟在做一个项目时需要监听sessoin的创建与销毁,但发生了一个很奇怪的问题,就是当我在web.xml中设置 <session-timeout>1</session-timeout>,也就是一分钟的时候,可是他的过期时间计时过,竟然不是一分钟,有时间半分钟,有时候一分多钟,这是为什么呢?很奇怪,求大神解释!!!
举报
tianpeng91
发帖于6年前 2回/1K+阅
共有2个答案 最后回答: 6年前

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);
    }
}

 

--- 共有 1 条评论 ---
tianpeng91额,,,要不,你写个测试类试下。、。。 6年前 回复
顶部