閉じる

Spring Session for Apache Geode

2.4.0

Spring 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 または Pivotal GemFire を追加する

Spring Session for Apache Geode&Pivotal GemFire は、コア Spring Session プロジェクトとこの GemFire/Geode 拡張機能の間のバージョンを調整するために使用される Maven BOM(部品表)の一部です。各 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 アプリケーション Maven POM ファイルに含めることができます。

例:

<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 (英語) を参照してください。

Spring Initializr

プロジェクトのクイックスタート

Spring Initializr (英語) を使用してアプリケーションをブートストラップします。