Spring Session for Apache Geode
2.4.0Spring Session for Apache Geode&Pivotal GemFire(SSDG)は、ユーザーのセッション情報を管理するための API と Spring Session コアの実装を提供します。
セッション状態は、Spring Data for Apache Geode を利用して Apache Geode (英語) に、または Spring Data for Pivotal GemFire を利用して Pivotal GemFire に保存されます。Apache Geode および Pivotal GemFire と統合することにより、Spring Boot アプリケーションの指先でこれらのテクノロジー(強力な一貫性、低遅延、高可用性、復元力など)のパワーを利用できるようになりました。
Pivotal Cloud Cache を使用して Pivotal CloudFoundry で Spring Boot アプリケーションをデプロイおよび実行するときに SSDG を使用することもできます。Pivotal Cloud Cache は Apache Geode に基づいています。
機能
Spring Session for Apache Geode、または Pivotal GemFire(SSDG)は、次の機能を提供します。
HTTP および WebSocket Apache Geode または Pivotal GemFire をバックエンドとして使用するセッション状態管理。
クラスター化および分散セッション管理 - システムアーキテクチャの可用性と復元力を向上させます。
強い一貫性 - Apache Geode と Pivotal GemFire はどちらも、データベースと同様に強力な一貫性保証を実装しています。
カスタム有効期限ポリシー - 固定セッションタイムアウトのサポートなど
カスタムデータシリアル化 -(HTTP)セッション状態を有効にして、Java 直列化以外の方法で直列化して、セッションに配置するアプリケーションクラスが
java.io.Serializable
を実装する必要がないようにします。カスタム変更検出 - セッションがダーティかどうか、およびクライアント / サーバートポロジの Spring Boot アプリケーションと Apache Geode クラスター間で送信されるもの(デルタなど)を決定できます。
強力な Pub / サブメカニック - 更新の通知などを受け取るためのクエリ述語に基づいて、セッションの変更に関心を登録したり、関心を表明したりできます。
ビルドに Spring Session for Apache Geode または PivotalGemFire を追加する
Spring Session for Apache Geode&Pivotal GemFire は、コア Spring Session プロジェクトとこの GemFire/Geode 拡張機能の間のバージョンを調整するために使用される MavenBOM(部品表)の一部です。各 BOM リリースはリリーストレインと呼ばれ、名前付け戦略があります。Apple-SR9、Bean-SR7、Corn-M4 など。
Maven での BOM の使用
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-bom</artifactId>
<version>Bean-SR7</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
次に、Spring Boot アプリケーション Maven POM ファイルへの依存関係として BOM を追加できます。
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-geode</artifactId>
</dependency>
</dependencies>
Gradle での BOM の使用
Gradle には Maven BOM に対する一流のサポートがないため、Spring の依存関係管理プラグイン (英語) を使用できます。
Gradle プラグインポータルからプラグインを適用します(必要に応じてバージョンを更新します)。
plugins {
id 'io.spring.dependency-management' version '1.0.6.RELEASE'
}
次に、それを使用して BOM をインポートします。
dependencyManagement {
imports {
mavenBom 'org.springframework.session:spring-session-bom:Bean-SR7'
}
}
最後に、バージョンなしでプロジェクトに依存関係を追加します。
dependencies {
compile 'org.springframework.session:spring-session-data-geode'
}
Spring Boot 構成
Spring Boot、特に Spring Boot for Apache Geode & Pivotal GemFire : GitHub (英語) (SBDG)を使用している場合は、Spring Session for Apache Geode(SSDG)のスターターを Spring Boot アプリケーション MavenPOM ファイルに含めることができます。
例:
<dependencies>
<dependency>
<groupId>org.springframework.geode</groupId>
<artifactId>spring-geode-starter-session</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
</dependencies>
Pivotal GemFire の使用に変更するには、artifactId
を spring-geode-starter-session
から spring-gemfire-starter-session
に変更するだけです。バージョン番号は、使用しているどのバージョンでも同じままです。
詳細については、SBDG バージョン互換性マトリックス: GitHub (英語) を参照してください。
ドキュメント
2.4.0 CURRENT GA | リファレンスドキュメント (英語) | API ドキュメント (英語) |
2.4.1-SNAPSHOT SNAPSHOT | リファレンスドキュメント (英語) | API ドキュメント (英語) |
2.3.3.BUILD-SNAPSHOT SNAPSHOT | リファレンスドキュメント (英語) | API ドキュメント (英語) |
2.3.2.RELEASE GA | リファレンスドキュメント (英語) | API ドキュメント (英語) |
2.2.7.BUILD-SNAPSHOT SNAPSHOT | リファレンスドキュメント (英語) | API ドキュメント (英語) |
2.2.6.RELEASE GA | リファレンスドキュメント (英語) | API ドキュメント (英語) |
2.1.13.BUILD-SNAPSHOT SNAPSHOT | リファレンスドキュメント (英語) | API ドキュメント (英語) |
2.1.12.RELEASE GA | リファレンスドキュメント (英語) | API ドキュメント (英語) |
例を試してみる:
- Spring Session for Apache Geode&Spring Boot Spring Boot アプリケーションで Spring Session for Apache Geode を使用する方法を示します。
- スコーププロキシを使用した Spring Session for Apache Geode スコーププロキシが Spring Boot アプリケーションで使用され、スコープが「シングルトン」以外の Spring Bean(たとえば、「セッション」または「リクエスト」スコープの Bean)がある場合に Spring Session for Apache Geode がどのように機能するかを示します。
- JavaConfig を使用した Spring Session for Apache Geode クライアント / サーバーの構成
- XML を使用した Spring Session for Apache Geode クライアント / サーバーの構成
- JavaConfig を使用した Spring Session for Apache GeodeP2P の構成
- XML を使用した Spring Session for Apache GeodeP2P の構成