Spring Session
2020.0.4Spring Session は、ユーザーのセッション情報を管理するための API と実装を提供します。
機能
Spring Session を使用すると、アプリケーションコンテナー固有のソリューションに縛られることなく、クラスター化されたセッションを簡単にサポートできます。また、以下との透過的な統合も提供します。
HttpSession
- アプリケーションコンテナー(Tomcat など)中立的な方法で HttpSession を置き換え、RESTful API で動作するようにヘッダーでセッション ID を提供することをサポートWebSocket
- WebSocket メッセージを受信する際に HttpSession を存続させる機能を提供するWebSession
- Spring WebFlux の WebSession をアプリケーションコンテナーニュートラルな方法で交換できます
モジュール
Spring Session は、次のモジュールで構成されています。
Spring Session Core - Spring Session のコア機能と API を提供する
Spring Session Data Redis - Redis および構成サポートに裏付けられた SessionRepository および ReactiveSessionRepository 実装を提供する
Spring Session JDBC - リレーショナルデータベースと構成サポートに裏付けられた SessionRepository 実装を提供する
Spring Session Hazelcast - Hazelcast と構成サポートによる SessionRepository 実装を提供する
Spring Session をビルドに追加する
このプロジェクトでは、Maven BOM(部品表)とリリーストレインを使用して、バージョンを調整します(Dragonfruit-SR2
、2020.0.3
など)。
Maven での BOM の使用
Maven では、最初に BOM をインポートする必要があります。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-bom</artifactId>
<version>2020.0.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
この例では
2020.0.3
を使用していますが、必要なリリーストレインバージョンをプラグインします。<dependencyManagement>
セクションとimport
スコープの使用に注意してください。
次に、<version>
なしでプロジェクトに依存関係を追加します。
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
</dependencies>
Gradle での BOM の使用
Gradle には Maven BOM に対するファーストクラスのサポートがないため、Spring の依存関係管理プラグイン (英語) を使用できます。
Gradle プラグインポータルからプラグインを適用します(必要に応じてバージョンを更新します)。
plugins {
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}
次に、それを使用して BOM をインポートします。
dependencyManagement {
imports {
mavenBom 'org.springframework.session:spring-session-bom:2020.0.3'
}
}
最後に、バージョンなしでプロジェクトに依存関係を追加します。
dependencies {
compile 'org.springframework.session:spring-session-data-redis'
}
フィードバック
GitHub 課題追跡システム (英語) を使用して、Spring Session のバグまたは機能拡張を報告できます。
一般的な使用箇所に関する質問がある場合は、spring-session タグを使用してスタックオーバーフロー (英語) で質問してください。
ドキュメント
2020.0.4 CURRENT GA | リファレンスドキュメント : GitHub (英語) | |
2021.0.0-RC1 PRE | リファレンスドキュメント : GitHub (英語) | |
Dragonfruit-SR3 GA | リファレンスドキュメント : GitHub (英語) | |
Corn-SR6 GA | リファレンスドキュメント : GitHub (英語) |