-
Notifications
You must be signed in to change notification settings - Fork 41.4k
Closed
Labels
status: invalidAn issue that we don't feel is validAn issue that we don't feel is valid
Description
We observed the problem that despite configuring the Session timeout via spring.session.timeout
the default of 30m/1800s was always active. Debugging we noticed, that SpringBootRedisHttpSessionConfiguration::customize()
is not called even though RedisSessionConfiguration
is properly matched for auto-configuration:
RedisSessionConfiguration matched:
- @ConditionalOnClass found required classes 'org.springframework.data.redis.core.RedisTemplate', 'org.springframework.session.data.redis.RedisOperationsSessionRepository'; @ConditionalOnMissingClass did not find unwanted class (OnClassCondition)
- Session Condition found spring.session.store-type property REDIS (ServletSessionCondition)
The following minimal setup application shows the issue:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.3.RELEASE</version>
</parent>
<prerequisites>
<maven>3.2.1</maven>
</prerequisites>
<groupId>some.test</groupId>
<artifactId>redis-session-test</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-core</artifactId>
<version>2.0.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
<version>2.0.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<executable>true</executable>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Application.java
package some.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.session.data.redis.RedisFlushMode;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
@SpringBootApplication
public class Application {
@EnableRedisHttpSession(redisFlushMode = RedisFlushMode.IMMEDIATE)
public class HttpSessionConfiguration {
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
application.yml
server:
port: 8080
spring.redis:
host: ${redis.host:localhost}
port: ${redis.port:6379}
spring.session.storeType: redis
spring.session.timeout: 2h
Metadata
Metadata
Assignees
Labels
status: invalidAn issue that we don't feel is validAn issue that we don't feel is valid