【发布时间】:2018-11-30 01:18:42
【问题描述】:
在春季会话中,我们有两个应用程序使用相同的 redis 服务器,结果有时我们会得到 ClassNotFoundException 无法序列化,因为一个应用程序试图序列化由不同应用程序创建的会话。不过,有时这两个服务都开始出现此错误。
为了缓解此问题,我们已确定使用 redisNamespace。但是,假设我们有 2 项服务并且只能更新一项服务。如果我们将redisNamespace 添加到一个服务中,这两个服务上的会话都不会发生冲突吗?例如服务 A 的命名空间为“test”,而服务 B 具有默认的命名空间“”(服务 B 是否仍会尝试使用服务 A 的会话?),还是我们也需要更改服务 B 的命名空间?
此外,我们还无法一致地重现此问题,有时 ClassNotFoundException 不会出现,有时会出现,非常感谢任何一致地重现此问题的指南。
我们使用的spring版本也是1.3.1.RELEASE。
【问题讨论】:
-
只是一个小疑问,服务A创建的会话不应该也可供服务B访问,否则如果请求从服务器A发送到服务器B,用户将被注销?跨度>
-
其实不一定,想想我们想要两个使用同一个redis服务器的独立应用程序。
标签: java spring redis spring-session