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 服务器:
我正在使用 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 服务器: