Grails 3 会话超时在部署到 Tomcat 时不起作用



我正在使用Grails 3.2.3。我增加了会话超时,如此处所述 https://stackoverflow.com/a/30861747/2405040 即在application.yml中添加以下内容:

server:
   session:
      timeout: 604800 #one week in seconds

这在开发中工作正常,即 session.getMaxInactiveInterval()返回 604800,但是当我在 Tomcat 上部署 WAR(使用 Tomcat 8.5.6(时,此会话超时设置不会反映,该值默认为 1800 秒。

"org.springframework.boot:spring-boot-starter-tomcat"设置为provided build.gradle

(我之前正在修改会话超时,如我在这里描述的那样 https://stackoverflow.com/a/40382383/2405040 但后来我意识到,这与嵌入式雄猫有关,因此切换到上面的application.yml设置(

我在这里错过了什么吗?

最好的猜测是,您部署到的 Tomcat 容器不使用

server:
   session:
      timeout: 604800

值,因为这只是对嵌入式 Tomcat 容器的指令。部署为 war 时,必须将部署到的 Tomcat 服务器配置为:

https://tomcat.apache.org/tomcat-8.0-doc/config/http.html

最新更新