Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreThis post was authored by Vedran Pavić
On behalf of the community I’m pleased to announce the releases of Spring Session Corn-M2
and Bean-SR6
. These releases will be picked up by Spring Boot 2.2.0.M4
and 2.1.6.RELEASE
, respectively.
Corn-M2
The Corn-M2
release is based on:
Spring Session core modules 2.2.0.M2
Spring Session Data Geode 2.2.0.M2
Spring Session Data MongoDB 2.2.0.M3
Some of the highlights of Spring Session 2.2.0.M2
are:
simple Redis-based implementation of SessionRepository
reworked @Configuration
classes are now compatible with proxyBeanMethods=false
migration of project’s tests to JUnit 5
simplified project structure
Complete details of these releases can be found in the changelog.
SimpleRedisOperationsSessionRepository
The biggest highlight of the release is the new, simple, Redis-based implementation of SessionRepository
that’s offered as an alternative to the well known RedisOperationsSessionRepository
.
The original RedisOperationsSessionRepository
, on top of core SessionRepository
functionality, provides support for session events (that are translated to HttpSessionEvent
instances) and also implements FindByIndexNameSessionRepository
(that allows retrieval of sessions for a given principal). The support for these two features comes at a cost, as there’s some complexity around how the sessions need to be persisted in Redis.
For many applications, support for session events and principal index isn’t essential and this was the main motivation for providing an alternative in SimpleRedisOperationsSessionRepository
. The new SessionRepository
does not yet have a first-class support in Spring Session’s configuration infrastructure, so it can be configured as follows:
@EnableSpringHttpSession
public class RedisSessionConfiguration {
@Autowired
private RedisConnectionFactory redisConnectionFactory;
@Bean
public RedisOperations<String, Object> sessionRedisOperations() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(this.redisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
@Bean
public SimpleRedisOperationsSessionRepository sessionRepository(
RedisOperations<String, Object> sessionRedisOperations) {
return new SimpleRedisOperationsSessionRepository(sessionRedisOperations);
}
}
Consider giving Corn-M2
release and SimpleRedisOperationsSessionRepository
a spin, and let us know of your feedback!
Bean-SR6
The Bean-SR6
release is based on:
Spring Session core modules 2.1.7.RELEASE
Spring Session Data Geode 2.1.4.RELEASE
Spring Session Data MongoDB 2.1.4.RELEASE
Spring Session 2.1.7.RELEASE
is maintenance release that brings a couple of bug fixes together with the usual dependency upgrades. Complete details of these releases can be found in the changelog.
Project Page | Documentation | Issues | Gitter | Stack Overflow