2

我设置了一个连接到 gfsh-create Gemfire 服务器的 Spring Session Gemfire 客户端应用程序。

但是,除非我加载所有包含类定义的 jar 文件,这些类定义由附加到 Gemfire 服务器上的 GemFireSession 的属性使用(通过使用 gfsh 创建服务器时的类路径属性)会话持久性失败(ClassNotFoundException 等)

有什么方法可以将 Spring Session Gemfire 配置为不需要客户端类在服务器端可用?

4

1 回答 1

0

不,为了正确处理 Session 复制,Spring Session Data GemFire支持目前使用 GemFire DataSerialization 框架,而不是PDX,这与 GemFire 自己的HTTP Session Management 模块相同。

我确实有一个未解决的问题要重新讨论,但当时 PDX 存在一些限制(与纯 GemFire DataSerialization 框架相比),以支持 Spring Session 中所需的所有功能,例如增量。

最低限度,您只需要在从Gfsh启动时将存储在 Session 中的应用程序域对象放在GemFire Servers类路径上。

理想情况下,您可以将使用 Spring 的 GemFire 服务器配置Spring Boot应用程序,该应用程序将所有依赖项都已经在类路径上,您甚至可以使用 Spring Session 配置 GemFire 服务器的 Spring Session部分 @EnableGemFireHttpSession。这实际上将设置所需的区域(存储会话状态)以及任何过期策略。

-约翰

于 2017-01-13T23:57:23.387 回答