当前位置: 首页 > 知识库问答 >
问题:

VaadinSession不工作的会话复制

皇甫鸿远
2023-03-14

一旦我们开始使用这个sessiondao,Vaadin就会崩溃并停止工作。当为了调试而用内存中的映射替换外部缓存时,它会再次工作。

这似乎是由SpringVaadinServlet引起的,因为它将VaadinSession存储为会话属性。vaadinsessionserialized,Javadoc显示:

VaadinSession中的所有内容都应该是可序列化的,以确保与使用序列化持久化会话数据的方案兼容。

注意:我们也有一个使用Vaadin8的应用程序版本,这里也发生了同样的事情。这个问题似乎是由Vaadin Spring集成引起的。

共有1个答案

李言
2023-03-14

在VaadinSession中有一些不可序列化的字段,例如一个锁,并且里面的包装http会话也被标记为transient。

包装的http会话不是Vaadin会话的一部分,而是http会话。因此它是短暂的。锁也是如此,它的实例存储在http会话中。

为了正确实现会话序列化,需要在会话被反序列化时挂钩序列化事件并更新瞬态。

 类似资料:
  • 将感谢任何关于我们应该如何处理这一点的提示!

  • 我不知道Codeigniter中会话的实际错误是什么。我的另一个项目很好地使用了这段代码。但在这种情况下,我遇到了问题。 对于登录会话,我的代码是: 我将会话检查为: 在进入控制器之前,我会像上面一样检查会话,如果会话不正确,则重定向到登录页面。 注销: 但是上面的代码不适合我。当我注销时,页面被成功地重定向到注销页面,但是会话没有被破坏,因为我可以访问需要会话设置的所有页面。请帮帮我。 我有一个

  • 我是使用会话变量的新手,尽管我在网上搜索了解会话变量,但我一直在苦苦挣扎。 所以基本上我有一个页面(search.php)。我加载一个基于搜索表单的动态数据表。加载表后,我通过AJAX执行以下操作: 正如您在Success和单击table row记录时所看到的,我的想法是通过AJAX发布一个变量以供以后使用。并将用户重定向到update.php页面。 然后,我希望使用发布的AJAX变量在sessi

  • 我正在尝试在我的应用程序中实现注销,因此我做了以下操作: 但是当我检查用户是否登录时,它说是: 我错过什么了吗?在使会话无效后,我是否应该获得一个新的AuthorizedUser实例(sessionScoped)? 编辑:如果有人需要,添加getHandler;)

  • 我遵循了认证教程,但遇到了一些问题。 它不能将变量传递给导入的函数。

  • 当我介绍hazelcast时,第一次验证是成功的。之后,第一个请求也是成功的。但在那之后 org.springframework.security.web.context.httpsessionSecurityContextRepository找不到会话... 正如我所说,在配置com.hazelcast.web.webfilter进行sesion复制之后,就开始出现这种情况,如下所示: 2017