我有一个复杂的对象,它由 LCDS DataServices 数据管理进行管理,并使用自定义汇编程序创建/更新等。绝大多数对象层次结构都被正确地序列化/反序列化,但是在序列化不可变的 java 类时我遇到了一个绊脚石。
在只有 java 的世界中,我会使用 java writeReplace 和 readResolve 方法,正如这个优秀的博客所描述的那样:http: //lingpipe-blog.com/2009/08/10/serializing-immutable-singletons-serialization-proxy/
这就是我最初编写 java 类的方式,期望 livecycle 调用 writeReplace 方法并将不可变类适当地替换为可变类以进行序列化。然而,lcds 似乎对 writeReplace 方法一无所知,只会调用 readExternal/writeExternal 忽略 readResolve 和 writeReplace。
首先,其他人是否发现是这种情况,或者我错过了什么?
其次,有没有人想出一种适当的方法来将 actionscript 类反序列化为不可变对象或单例?
非常感谢