最新の安定バージョンについては、Spring Session 3.3.1 を使用してください!

2.x へのアップグレード

新しいメジャーリリースバージョンでは、Spring Session チームはいくつかの非パッシブな変更を行う機会を得ました。これらの変更の焦点は、Spring Session の API を改善および調和し、非推奨のコンポーネントを削除することです。

ベースラインの更新

Spring Session 2.0 は、コードベース全体が Java 8 ソースコードに基づいているため、ベースラインとして Java 8 と Spring Framework 5.0 が必要です。Spring Framework のアップグレードの詳細については、Spring Framework 5.x へのアップグレード [GitHub] (英語) を参照してください。

交換および削除されたモジュール

プロジェクトによるモジュールの分割の一環として、既存の spring-session が spring-session-core モジュールに置き換えられました。spring-session-core モジュールは、API とコンポーネントの共通セットのみを保持しますが、他のモジュールには、適切な SessionRepository の実装とそのデータストアに関連する機能が含まれています。これは、以前は単純な依存関係アグリゲーターヘルパーモジュールであったいくつかの既存のモジュールに適用されます。新しいモジュール配置では、次のモジュールが実際に実装を実行します。

  • MongoDB 用の Spring Session

  • Redis 用 Spring Session

  • Spring Session JDBC

  • Spring Session Hazelcast

また、メインプロジェクトリポジトリから次のものが削除されました。

置換および削除されたパッケージ、クラス、メソッド

パッケージ、クラス、メソッドに次の変更が加えられました。

  • ExpiringSession API は Session API に統合されました。

  • Session API は、Java 8 を最大限に活用するように拡張されました。

  • Session API は、changeSessionId サポートで拡張されました。

  • SessionRepository API が更新され、Spring Data メソッドの命名規則との整合性が向上しました。

  • AbstractSessionEvent とそのサブクラスは、基礎となる Session オブジェクトなしでは構築できなくなりました。

  • RedisOperationsSessionRepository で使用される Redis 名前空間は、部分的に構成可能ではなく、完全に構成可能になりました。

  • Redis 構成のサポートが更新され、Spring セッション固有の RedisTemplate Bean の登録が回避されました。

  • JDBC 構成のサポートが更新され、Spring セッション固有の JdbcTemplate Bean の登録を回避しました。

  • 以前に非推奨になったクラスとメソッドは、コードベース全体で削除されました

サポートの終了

HttpSessionStrategy への変更と、リアクティブワールドからの対応するものへの調整の一環として、単一のブラウザーインスタンスで複数のユーザーのセッションを管理するためのサポートが削除されました。この機能を置き換える新しい API の導入は、将来のリリースで検討されています。