Application property "server.servlet.session.timeout" is not working in Spring Boot project Application property "server.servlet.session.timeout" is not working in Spring Boot project spring spring

Application property "server.servlet.session.timeout" is not working in Spring Boot project


A possible cause for this problem might be using @EnableRedisHttpSession. As explained in this answer:

By using @EnableRedisHttpSession you are telling Spring Boot that you want to take complete control over the configuration of Redis-based HTTP sessions. As a result, its auto-configuration backs off and server.servlet.session.timeout has no effect. If you want to use server.servlet.session.timeout then you should remove @EnableRedisHttpSession. Alternatively, if you want to use @EnableRedisHttpSession then you should use the maxInactiveIntervalInSeconds attribute to configure the session timeout.

Hope this helps someone.


You can use Approach 1:

server.servlet.session.timeout=30sserver.servlet.session.cookie.max-age=30s

It is working fine for me


I am posting answer because this scenario is new for me. And I haven't got proper solution step by step. According to the suggestion of M. Deinum I created a web.xml file under WEB-INF folder. Project structure is like

src |_ main     |_ java     |_ resources     |_ webapp         |_ WEB-INF              |_ web.xml

And in web.xml I configured <session-timeout>...</session-timeout>

My web.xml is like

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xmlns="http://java.sun.com/xml/ns/javaee"         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"         id="WebApp_ID" version="2.5">    <session-config>        <session-timeout>5</session-timeout>    </session-config></web-app>

And now session time of my webapp in server is working according to my configuration. Thanks goes to M. Deinum