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

Grails 3 session timeout not working when deployed to Tomcat

我正在使用 Grails 3.2.3。我已经按照此处 所述增加了会话超时,即在 application.yml:

中添加以下内容
server:
   session:
      timeout: 604800 #one week in seconds

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

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

(我之前按照我在这里描述的那样修改会话超时 但后来我意识到,这与嵌入式 tomcat 有关,所以切换到上面的 application.yml 设置)

我在这里遗漏了什么吗?

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

server:
   session:
      timeout: 604800

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

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