SpringBoot 2设置session过期时间生效后再修改不生效
在IDEA中,如下设置为1分钟,然后重启,生效,再修改为 PT3M 即3分钟,然后再重启无效不生效,clean 重新编译 重启后还是1分钟。为何呢?
springboot 版本是 2.1.8.RELEASE
如下设置为 1 分钟
如下修改为3分钟,重启后不生效
server:
port: 8081
servlet:
session:
timeout: PT3M
也试过这种,也没用。但是修改端口号等别的配置就能生效。
然后,我试着创建一个新的springboot项目,只添加上图的配置,然后在controller里获取session的过期时间。
@RestController
public class TestController {
@RequestMapping("/test01")
public String test01(HttpServletRequest request){
HttpSession session = request.getSession();
int maxInactiveInterval = session.getMaxInactiveInterval();
System.out.println(maxInactiveInterval);
return "{\"session时长\":\""+maxInactiveInterval+"\"}";
}
}
然后修改timeout时间,为PT20M,重启,访问。发现是能够生效的。
这就奇怪了,是不是我的那个项目的其他配置影响了这个呢?
现在是一段时间内多次改,都生效,改着改着又不生效了,多次重启又不知道什么时候回再生效。
例如,我从60s改为180s->1800s->1860s->600s…就这样一直改,改完重启验证,有时候会一直是刚改后的,有时候就突然不变了,比如1800s之后改成1860s再验证还是1800s,多次重启还是1800s。记得我半个月前就是这样,今天改很多次突然某次生效了,过一会又不行了。。。