快速上手
VMware 提供培训和认证,助您快速提升技能。
了解更多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 是 Maven BOM(物料清单)的一部分,用于协调核心 Spring Session 项目和此 Apache Geode 扩展之间的版本。每个 BOM 版本都称为一个发行列车,并具有命名策略,例如:Apple-SR9
、Bean-SR12
、Corn-SR6
、Dragonfruit-SR3
、2020.0.7
、2021.0.4
、2021.1.1
、2021.2.0-M1
和 2022.0.0-M1
。
<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 不对 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 快速启动您的应用程序 Spring Initializr.