Apache GeodeSpring 会议
用于Apache Geode和Pivotal GemFire的Spring Session(SSDG)提供了一个API和Spring Session core的实现来管理用户的Session信息。
会话状态存储在阿帕奇的Geode通过利用对Apache的GeodeSpring数据,或者举足轻重的GemFire通过利用弹簧数据举足轻重的GemFire。通过与Apache Geode和Pivotal GemFire集成,您现在可以在Spring Boot应用程序中轻松掌握这些技术的强大功能(例如,强一致性,低延迟,高可用性,弹性等)。
它甚至可以部署和运行你的Spring应用程序启动时使用SSDG枢纽CloudFoundry,使用匹云缓存,这本身就是一个基于Apache的Geode。
特征
Apache Geode或Pivotal GemFire(SSDG)的Spring Session提供以下功能:
-
使用Apache Geode或Pivotal GemFire作为后端的HTTP和WebSocket会话状态管理。
-
群集和分布式会话管理-改进系统体系结构的可用性和弹性。
-
强大的一致性-Apache Geode和Pivotal GemFire都实现了强大的一致性保证,就像数据库一样。
-
自定义过期政策-例如,对固定会话超时的支持
-
自定义数据序列化-启用(HTTP)会话状态而不是通过Java序列化进行序列化,这样您放入会话中的应用程序类就无需实现
java.io.Serializable
。 -
自定义变更检测-您可以确定会话是否脏,以及在客户机/服务器拓扑中在Spring Boot应用程序和Apache Geode集群之间发送了什么内容(例如增量)。
-
强大的发布/订阅机制-允许您基于查询谓词来注册对会话更改的兴趣或表达兴趣,以接收更新通知等。
在您的构建中添加适用于Apache Geode或Pivotal GemFire的Spring Session
Apache Geode和Pivotal GemFire的Spring Session是Maven BOM(物料清单)的一部分,用于协调核心Spring Session项目和此GemFire / Geode扩展之间的版本。每个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>
然后,您可以将BOM作为依赖项添加到Spring Boot应用程序Maven POM文件中:
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-geode</artifactId>
</dependency>
</dependencies>
将材料明细表与Gradle一起使用
由于Gradle不提供对Maven BOM的一流支持,因此可以使用Spring的Dependency Management Plugin。
从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启动,具体而言,Spring启动的Apache的Geode和枢纽的GemFire(SBDG),则可以包括起动机在Spring启动应用程序的Maven POM文件的Spring会议于Apache的Geode(SSDG)。
例如:
<dependencies>
<dependency>
<groupId>org.springframework.geode</groupId>
<artifactId>spring-geode-starter-session</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
</dependencies>
要改变使用举足轻重的GemFire,你只需要改变artifactId
从spring-geode-starter-session
到spring-gemfire-starter-session
。版本号与您所使用的版本相同。
有关更多详细信息,请参见SBDG版本兼容性列表。
快速启动您的项目
可以尝试一些示例:
- 适用于Apache Geode和Spring Boot的 Spring Session显示如何在Spring Boot应用程序中使用适用于Apache Geode的Spring Session。
- 使用作用域代理 的Apache Geode的Spring Session显示了在您的Spring Boot应用程序中使用作用域代理并且您的Spring bean的作用域不是“ singleton”(例如,“ session”或“ request”作用域的bean)时,Apache Geode的Spring Session的工作原理)。
- 使用JavaConfig为Apache Geode客户端/服务器配置Spring Session
- 使用XML为Apache Geode客户端/服务器配置Spring Session
- 使用JavaConfig为Apache Geode P2P配置Spring Session
- 使用XML为Apache Geode P2P配置Spring Session