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.
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