Apache Geode 的 Spring Session2.7.0

公告

2022 年底,VMware 宣布 VMware GemFire 项目的 Spring 正式上市。

虽然这些基于 Spring 的 VMware GemFire 项目是开源的,并且是 Apache Geode 项目的后续项目,但它们并非替代品。VMware GemFire 从 Apache Geode 项目分叉而来,并非开源。

不建议开始使用 Spring for Apache Geode 的新项目,而应迁移到 Spring for VMware GemFire,从 这里 开始。或者,Spring 产品组合提供了与其他可比会话缓存提供程序的一流 集成。另请参见 这里

最后,请记住,Spring for Apache Geode 项目将一直维护到 OSS 和商业支持结束。维护仅包括 CVE 和关键修复。不会添加新功能或增强功能。Apache Geode 的 Spring Session 支持时间表可以 在这里 查看。

概述

Apache Geode 的 Spring Session (SSDG) 使用 Apache Geode 来管理用户的会话信息,提供核心 Spring Session 框架的实现。

通过利用 用于 Apache Geode 的 Spring Data,会话状态存储在 Apache Geode 中。通过与 Apache Geode 集成,您可以充分利用这项技术(强一致性低延迟高可用性弹性等)在 Spring Boot 应用程序中。

即使在使用基于 Apache Geode 的 Pivotal Cloud Cache 部署和运行 Spring Boot 应用程序时,也可以使用 SSDG 在 Pivotal CloudFoundry 中。

特性

Apache Geode 的 Spring Session (SSDG) 提供以下特性:

  • 使用 Apache Geode 作为后端进行 HTTP 和 WebSocket 会话状态管理。

  • 集群和分布式会话管理 - 提高系统架构的可用性和弹性。

  • 强一致性 - Apache Geode 实现强一致性保证,类似于数据库。

  • 自定义过期策略 - 例如,支持固定的会话超时。

  • 自定义数据序列化 - 允许 (HTTP) 会话状态的序列化方式不同于Java 序列化,因此您放入会话中的应用程序类不需要实现java.io.Serializable

  • 自定义更改检测 - 您可以决定会话是否已更改以及在客户端/服务器拓扑中 Spring Boot 应用程序和 Apache Geode 集群之间发送什么(例如增量)。

  • 强大的发布/订阅机制 - 允许您注册兴趣或使用查询谓词表达对会话更改的兴趣,以接收更新通知。

将 Apache Geode 的 Spring Session 添加到您的构建中

Apache Geode 的 Spring Session 是 Maven BOM(物料清单)的一部分,用于协调核心 Spring Session 项目和此 Apache Geode 扩展之间的版本。每个 BOM 版本都称为一个发行列车,并具有命名策略,例如:Apple-SR9Bean-SR12Corn-SR6Dragonfruit-SR32020.0.72021.0.42021.1.12021.2.0-M12022.0.0-M1

使用 BOM 与 Maven

<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>

使用 BOM 与 Gradle

由于 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 Initializr

快速入门您的项目

快速上手

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部