SpringBoot session超时的问题
2021-06-21 05:05
标签:行操作 开头 查找 字符 void rabl cti pat nta 最近在做SpringBoot的项目,用到了session,发现放置好session后,过一会就失效了,用下面发语句获取session失效时间,发现是60s 去网上查找,发现大多解决问题的办法是 在启动类中main方法的下面加入以下方法来手动设置session失效时间 但是社会在发展,时代在进步,SpringBoot2.0以后已经不支持这种方式了 SpringBoot2.0以后的版本只需要在application.properties中加入以下配置就好 这里重点解释一下 PT5H 意思是设置session失效的时间是5小时 Duration是在Java8中新增的,主要用来计算日期差值 Duration是被final声明的,并且是线程安全的 Duration转换字符串方式,默认为正,负以-开头,紧接着P,以下字母不区分大小写 最后总结一下Duration最实用的一个功能其实是 between 方法,因为有很多时候我们需要计算两个日期之间的天数或者小时数,用这个就可以很方便的进行操作。 BugHome版权所有丨转载请注明出处:https://minei.me/archives/342.html SpringBoot session超时的问题 标签:行操作 开头 查找 字符 void rabl cti pat nta 原文地址:https://www.cnblogs.com/ergexy/p/9684933.htmlrequest.getSession().getMaxInactiveInterval();
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer(){
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer Container) {
container.setSessionTimeout(1800);//单位为S
}
};
}
ps:可以在pom文件中查看你的SpringBooot版本。
spring-boot-starter-parentserver.servlet.session.timeout = PT5H
通过查看setTimeouot的方法,这里要求传入Duration的实例public void setTimeout(Duration timeout) {
this.timeout = timeout;
}
D :天 T:天和小时之间的分隔符 H :小时 M:分钟 S:秒 每个单位都必须是数字,且时分秒顺序不能乱
比如P2dt3m5s P3d pt3h
文章标题:SpringBoot session超时的问题
文章链接:http://soscw.com/index.php/essay/96758.html