无法在 Vaadin 上使用 spring 个会话

Can't use spring sessions on Vaadin

如果我将 spring-session jdbc 添加到我的 vaadin-spring-boot-application 中,该应用程序会非常慢并且会在几秒钟后重新加载整个页面。其他一切看起来都正常工作。

我没有注意到这个问题,我已经研究了几天这个问题并得到了这个Github issue and Vaadin microservices configuration但是在这些中,我没有找到合适的解决方案来解决这个问题,任何人都可以给我一个在 Vaadin?

上实施 Spring 会话的真实示例

此致。

spring-session 这样的会话复制方案假定会话相对较小,并且内容对来自多个请求线程的并发修改不敏感。对于典型的 Vaadin 应用程序,这些假设都不成立。

第一个问题是会话中通常有 100KB 到 10MB 的数据需要从数据库中获取、反序列化、更新,然后再次序列化并存储在数据库中以供每个请求使用。第二个问题是 Vaadin 在会话中存储了一个锁实例,并使用它来确保没有多个请求线程同时使用同一个会话。

要将会话序列化到持久存储,您需要确保您的负载均衡器使用粘性会话,并且通常还使用高性能解决方案(例如 Hazelcast),而不是仅仅为每个请求单独反序列化和序列化。

更详细的可以看这两个帖子: