Spring Session for Apache Geode 2.7.0

NOTICE

2022 年末、VMware は、VMware GemFire プロジェクト向けの Spring の一般提供を発表 (英語) しました。

VMware GemFire 用のこれらの Spring ベースのプロジェクトはオープンソースであり、Apache Geode 用の Spring プロジェクトの後継ですが、代替ではありません。VMware GemFire は Apache Geode プロジェクトからフォークされたもので、オープンソースではありません。

Apache Geode の代わりに Spring を使用して新しいプロジェクトを開始することは推奨されません。むしろ、ここから (英語) VMware GemFire の代わりに Spring に移行してください。あるいは、Spring ポートフォリオは、他の同等のセッションキャッシュプロバイダーとの優れた統合を提供します。こちらも参照してください。

最後に、Apache Geode の Spring プロジェクトは、OSS および有償サポートが終了するまで維持されることに留意してください。メンテナンスには CVE と重要な修正のみが含まれます。新しい機能や機能強化は行われません。Spring Session for Apache Geode のサポートタイムラインは、こちらで確認できます。

概要

Spring Session for Apache Geode(SSDG)は、Apache Geode (英語) を使用してユーザーのセッション情報を管理するコア Spring Session フレームワークの実装を提供します。

セッション状態は、Spring Data for Apache Geode を利用して Apache Geode (英語) に保存されます。Apache Geode (英語) と統合することにより、Spring Boot アプリケーションの指先で、このテクノロジーの全機能(強一貫性低遅延高可用性復元力など)を利用できます。

Apache Geode をベースにした Pivotal Cloud Cache を使用して、Pivotal CloudFoundry で Spring Boot アプリケーションをデプロイして実行するときに SSDG を使用することも可能です。

機能

Spring Session for Apache Geode(SSDG)は、次の機能を提供します。

  • Apache Geode をバックエンドとして使用する HTTP および WebSocket セッション状態管理。

  • クラスタ化および分散されたセッション管理 - システムアーキテクチャの可用性と回復力を向上させます。

  • 強い一貫性 - Apache Geode は、データベースと同様に強力な一貫性保証を実装します。

  • カスタム有効期限ポリシー - 例: 固定セッションタイムアウトのサポート。

  • カスタムデータシリアル -(HTTP)セッション状態を有効にして、Java 直列化以外の方法で直列化して、セッションに配置するアプリケーションクラスが java.io.Serializable を実装する必要がないようにします。

  • カスタム変更検出 - セッションがダーティかどうか、およびクライアント / サーバートポロジ内の Spring Boot アプリケーションと Apache Geode クラスター間で何が送信されるか (例: デルタ) を決定できます。

  • 強力な Pub/ サブメカニック - クエリ述語を使用して更新の通知を受信することに基づいて、セッションの変更に関心を登録したり、関心を表明したりできます。

Spring Session for Apache Geode をビルドに追加する

Spring Session for Apache Geode は、コア Spring Session プロジェクトとこの Apache Geode 拡張機能間のバージョンを調整するために使用される Maven BOM (部品表) の一部です。各 BOM リリースはリリーストレインと呼ばれ、命名戦略があります (例: Apple-SR9Bean-SR12Corn-SR6Dragonfruit-SR32020.0.72021.0.42021.1.12021.2.0-M12022.0.0-M1)。

Maven での BOM の使用

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.session</groupId>
      <artifactId>spring-session-bom</artifactId>
      <version>2021.1.1</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

次に、BOM を依存関係として Spring Boot アプリケーション Maven POM ファイルに追加できます。

<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.11.RELEASE'
}

次に、それを使用して BOM をインポートします。

dependencyManagement {
  imports {
    mavenBom 'org.springframework.session:spring-session-bom:2021.1.1'
  }
}

最後に、バージョンなしでプロジェクトに依存関係を追加します。

dependencies {
  compile 'org.springframework.session:spring-session-data-geode'
}

Spring Boot 構成

Spring Boot、特に Apache Geode 用 Spring Boot [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.6.3.RELEASE</version>
  </dependency>
</dependencies>

詳細については、SBDG バージョン互換性マトリックス [GitHub] (英語) を参照してください。

Spring Initializr

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

サポートの取得

Tanzu Spring は、1 つのシンプルなサブスクリプションで OpenJDK ™、Spring、Apache Tomcat ® のサポートとバイナリを提供します。

さらに学習したい方に (英語)

今後のイベント

Spring コミュニティで今後開催されるすべてのイベントをチェックしてください。

すべて表示 (英語)