2017-04-04 105 views
0

我正在使用Grails 3.2.3。我已经增加了如下描述https://stackoverflow.com/a/30861747/2405040即增加在application.yml以下会话超时:Grails 3会话超时在部署到Tomcat时不起作用

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"设置为providedbuild.gradle

(我以前修改会话超时,因为我在这里描述https://stackoverflow.com/a/40382383/2405040但后来我意识到,这是关系到嵌入式的tomcat所以切换到上述application.yml设置)

我在这里缺少什么?

回答

2

一个最好的猜测是,该Tomcat容器部署到不使用您设置的

server: 
    session: 
     timeout: 604800 

值,因为这只是一个指令到嵌入式Tomcat容器。当您部署战争,你必须配置Tomcat服务器部署到:

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

+0

是啊,我也这么认为!但是有没有办法像Grails 2那样增加应用内的超时? –

+1

也许这个博客条目可以提供帮助:http://fruzenshtein.com/spring-java-configuration-session-timeout。我从这个链接:http://stackoverflow.com/questions/28103852/spring-boot-session-timeout – sbglasius