spring-boot - 无法在 Vaadin 上使用 Spring session

标签 spring-boot session vaadin spring-session vaadin14

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

我没有注意到这个问题,我已经研究了这个问题几天并得到了这个Github issueVaadin microservices configuration但在这些中,我没有找到合适的解决方案来解决这个问题,任何人都可以给我一个真实的例子来实现Vaadin上的Spring session

问候。

最佳答案

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

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

要将 session 序列化到持久存储,您需要确保负载均衡器使用粘性 session ,并且通常还使用 Hazelcast 等高性能解决方案,而不仅仅是针对每个请求单独进行反序列化和序列化。

有关更多详细信息,您可以查看这两篇文章:

关于spring-boot - 无法在 Vaadin 上使用 Spring session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64004672/

相关文章:

Spring WebFlux FilePart TransferTo 方法无法将文件写入目标路径

java - Elasticsearch High Level Rest Client Java 排序无法正常工作

java - Vaadin session 管理 - 它是如何工作的?

java - Vaadin:动态更改文本字段的背景颜色

css - 使用更多 CSS 样式化或删除已使用 CSS 添加的元素

eclipse ResolutionException : Modules A and B export package P to module C

spring - 在 WebMvcTest 中为 Keycloak 加载自定义 SecurityConfig 时的 NPE

php - MySQL Session 变量在触发器中的作用

php - Laravel Redis session 驱动程序不起作用

java - Vaadin 网格行编号