我有一个带有范围 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/