我正在使用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