问题描述
我正在使用 Grails 3.2.3 。我已经增加了会话超时,如所述,即增加 application.yml
:
服务器:
会话:
超时时间:604800#一周以秒为单位
session.getMaxInactiveInterval()
返回604800,但是当我在Tomcat上部署WAR(使用 Tomcat 8.5.6 )时,会话超时设置没有被反映,并且该值默认为1800秒。
org.springframework.boot:spring-boot-starter-tomcat code>在
build.gradle
中设置为提供
。
(我以前正在修改会话超时,因为我在这里描述了但后来我意识到那一点与嵌入式tomcat相关,因此切换到 application.yml
设置)
我在这里丢失了什么吗? p>
最好的猜测是,您部署的Tomcat容器不会使用
服务器:
会话:
超时:604800
$ b $您设置的b
值,因为这只是针对嵌入式Tomcat容器的指令。当您部署为war时,您必须配置您部署的Tomcat服务器:
I'm using Grails 3.2.3. I've increased the session timeout as described here https://stackoverflow.com/a/30861747/2405040 i.e. adding the following in This is working fine while in development i.e. (I was previously modifying the session timeout as I described here https://stackoverflow.com/a/40382383/2405040 but later I realized that, that is related to embedded tomcat so switched to above Am I missing anything here? A best guess would be, that the Tomcat container you deploy to does not use the value you set, as this is only a directive to the embedded Tomcat container. When you deploy as war, you have to configure the Tomcat server you deploy to: https://tomcat.apache.org/tomcat-8.0-doc/config/http.html 这篇关于部署到Tomcat时,Grails 3会话超时不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!application.yml
:server:
session:
timeout: 604800 #one week in seconds
session.getMaxInactiveInterval()
returns 604800 but when I'm deploying the WAR on a Tomcat (using Tomcat 8.5.6), this session timeout setting is not reflected and the value is default to 1800 seconds."org.springframework.boot:spring-boot-starter-tomcat"
is set to provided
in build.gradle
.application.yml
setting)server:
session:
timeout: 604800