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

时间:2017-04-04 19:07:13

标签: spring session tomcat grails grails3.2.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"设置为provided中的build.gradle

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

我在这里遗漏了什么吗?

1 个答案:

答案 0 :(得分:2)

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

server:
   session:
      timeout: 604800
您设置的

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

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