0

我正在使用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"设置为providedin build.gradle

(我之前正在修改会话超时,如此处所述https://stackoverflow.com/a/40382383/2405040但后来我意识到,这与嵌入式 tomcat 相关,因此切换到上述application.yml设置)

我在这里错过了什么吗?

4

1 回答 1

2

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

server:
   session:
      timeout: 604800

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

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

于 2017-04-06T11:13:48.747 回答