|
For the latest stable version, please use Spring Session 3.5.3! |
Upgrading to 2.x
With the new major release version, the Spring Session team took the opportunity to make some non-passive changes. The focus of these changes is to improve and harmonize Spring Session’s APIs as well as remove the deprecated components.
Baseline Update
Spring Session 2.0 requires Java 8 and Spring Framework 5.0 as a baseline, since its entire codebase is now based on Java 8 source code. See Upgrading to Spring Framework 5.x for more on upgrading Spring Framework.
Replaced and Removed Modules
As a part of the project’s splitting of the modules, the existing spring-session has been replaced with the spring-session-core module.
The spring-session-core module holds only the common set of APIs and components, while other modules contain the implementation of the appropriate SessionRepository and functionality related to that data store.
This applies to several existing modules that were previously a simple dependency aggregator helper module.
With new module arrangement, the following modules actually carry the implementation:
-
Spring Session for MongoDB
-
Spring Session for Redis
-
Spring Session JDBC
-
Spring Session Hazelcast
Also, the following were removed from the main project repository:
-
Spring Session Data GemFire
Replaced and Removed Packages, Classes, and Methods
The following changes were made to packages, classes, and methods:
-
ExpiringSessionAPI has been merged into theSessionAPI. -
The
SessionAPI has been enhanced to make full use of Java 8. -
The
SessionAPI has been extended withchangeSessionIdsupport. -
The
SessionRepositoryAPI has been updated to better align with Spring Data method naming conventions. -
AbstractSessionEventand its subclasses are no longer constructable without an underlyingSessionobject. -
The Redis namespace used by
RedisOperationsSessionRepositoryis now fully configurable, instead of being partially configurable. -
Redis configuration support has been updated to avoid registering a Spring Session-specific
RedisTemplatebean. -
JDBC configuration support has been updated to avoid registering a Spring Session-specific
JdbcTemplatebean. -
Previously deprecated classes and methods have been removed across the codebase
Dropped Support
As a part of the changes to HttpSessionStrategy and its alignment to the counterpart from the reactive world, the support for managing multiple users' sessions in a single browser instance has been removed.
The introduction of a new API to replace this functionality is under consideration for future releases.