Spring: session 作用域 bean 的序列化

标签 spring serialization

我有一个带有范围 session 的 Spring bean。该 bean 包含对另一个不可序列化的单例 bean 的引用。如果我想序列化 session 作用域 bean,最好的方法是什么?

这里已经提出了同样的问题:Spring session-scoped beans (controllers) and references to services, in terms of serialization

公认的答案是:

[...]this issue is resolved in spring 3.0 by providing a proxy of non-serializable beans, which obtains an instance from the current application context

据我了解链接视频中的演讲者,它应该“正常工作”。但就我而言,事实并非如此!当我尝试序列化我的 session 作用域 bean 时,我得到一个 NotSerializedException

如何解决这个问题?

最佳答案

您可以将单例引用字段标记为transient。然后检查How to execute method after deserialization并从 ApplicationContext 加载引用。 另外,请提供堆栈跟踪。

附注

使用 session 钝化并不是一个好主意。

关于Spring: session 作用域 bean 的序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15334849/

相关文章:

c# - 如何序列化用 [ScriptIgnore] 属性装饰的属性?

android - 使用 gson 反序列化 NullPointerException

c# - XML 序列化 : is Order mandatory on your class when you specifiy at least 1 Order attribute?

java - 如何在hibernate中更新父表的主键,从而自动更新子表的外键?

java - Spring Boot + Hibernate 未对多个数据源使用正确的方言

java - 从数组写入可序列化对象

c# - 什么是序列化?

java - 使用 Spring 和 Spring Data 更新集合中的对象

java - 在多个地方配置 Spring Security

java - 事务方法的递归 ROWNUM 使用