在spring Web应用程序中手动重置会话超时(保持活动状态)

时间:2014-10-27 14:45:00

标签: java spring session spring-mvc tomcat

是否可以手动重置当前在我的网络应用中登录的用户的特定会话的超时间隔?

我希望能够做类似的事情:

  public void keepAliveForUser(long userID) {

      Session session = this.userSessionManager.getUserSessionById(userID);
      session.resetTimeOut();

  }

P.S - 请记住,在跟进用户请求时不会调用此函数。 (即从cron作业调用它,预定任务等......)

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以使用HttpSession#setMaxInactiveInterval动态更改会话到期时间

Java Doc

  

指定客户端请求之前的时间(以秒为单位)   servlet容器将使此会话无效。负面的时间   表示会话永远不会超时。

用法

//session will expire after 2 hours of inactivity
session.setMaxInactiveInterval(2 * 60 * 60);

答案 1 :(得分:0)

会话超时层次结构:

  1. $tomcat_home/conf/web.xml
  2. $your_webapp/WEB-INF/web.xml
  3. 手动调用HttpSession.setMaxInactiveInterval(int)
相关问题