是否可以手动重置当前在我的网络应用中登录的用户的特定会话的超时间隔?
我希望能够做类似的事情:
public void keepAliveForUser(long userID) {
Session session = this.userSessionManager.getUserSessionById(userID);
session.resetTimeOut();
}
P.S - 请记住,在跟进用户请求时不会调用此函数。 (即从cron作业调用它,预定任务等......)
谢谢!
答案 0 :(得分:0)
您可以使用HttpSession#setMaxInactiveInterval
动态更改会话到期时间
Java Doc
指定客户端请求之前的时间(以秒为单位) servlet容器将使此会话无效。负面的时间 表示会话永远不会超时。
用法
//session will expire after 2 hours of inactivity
session.setMaxInactiveInterval(2 * 60 * 60);
答案 1 :(得分:0)
会话超时层次结构:
$tomcat_home/conf/web.xml
$your_webapp/WEB-INF/web.xml
HttpSession.setMaxInactiveInterval(int)