Spring引导Java配置设置会话超时

Spring引导Java配置设置会话超时,spring,session,spring-boot,timeout,Spring,Session,Spring Boot,Timeout,如何在Spring引导应用程序中配置(嵌入式)Tomcat会话超时 public class SessionListener implements HttpSessionListener{ @Override public void sessionCreated(HttpSessionEvent se) { se.getSession().setMaxInactiveInterval(5*60); } @Override public void sessionDestroyed(Ht

如何在Spring引导应用程序中配置(嵌入式)Tomcat会话超时

public class SessionListener implements HttpSessionListener{

@Override
public void sessionCreated(HttpSessionEvent se) {
    se.getSession().setMaxInactiveInterval(5*60);
}

@Override
public void sessionDestroyed(HttpSessionEvent se) {

}}

我有一个SessionListener,但我不知道必须在哪个类中将此侦听器添加到上下文中。

您应该能够在application.properties文件中设置
server.session.timeout

参考:

编辑:

在Spring Boot的更高版本中,此属性已更改为
server.servlet.session.timeout


ref:

应用程序中的server.session.timeout
。属性文件现在已不推荐使用。正确的设置是:

server.servlet.session.timeout=60s
还请注意,Tomcat不允许您将超时设置为小于60秒。有关最小设置的详细信息,请参阅。

  • Spring Boot 1.0版:
    server.session.timeout=1200
  • Spring Boot 2.0版:
    server.servlet.session.timeout=10m

    注意:如果未指定持续时间后缀,将使用秒

server.session.timeout=#会话超时(以秒为单位)。在你的application.properties
#会话超时(对于spring,以秒为单位,对于tomcat服务器/容器,以分钟为单位)server.session.timeout=1
我测试了它并正在工作!事实证明,tomcat在minutesspring boot 2.0中获得了该属性move@user1553728什么?注意:在嵌入式Tomcat服务器中,它是以分钟为单位的,因此如果您设置的值小于1分钟,会话将需要等待1分钟才能过期。我正在使用spring boot 2.2.6和嵌入式tomcat 9成功使用低于60秒的会话超时@Daryl server.servlet.session.timeout=60s在我将我的spring boot(2.2.4)spring security(5.2.1)web应用程序部署到独立的tomcat(9)中时不起作用。我尝试使用minute也很有用,因为根据本文,该设置不能在代码中更新,必须通过属性文件完成,如答案所示:。来自那篇文章:“没有办法以编程方式设置全局会话超时”