我有一個複雜的對象,由LCDS DataServices數據管理器管理,並使用自定義彙編器創建/更新等。絕大多數對象層次結構都是正確序列化/反序列化的,但是當涉及序列化不可變的Java類時,我碰到了一個絆腳石。使用LCDS將不可變的java類序列化爲actionscript
在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。
首先,有其他人發現這是這種情況,還是我錯過了什麼?其次,有沒有人想出一個合適的方法將動作類反序列化爲不可變對象或單例?
非常感謝
感謝格雷姆。我得出了同樣的結論。我不認爲你知道任何關於writeReplace和readResolve的計劃將來會被LCDS正確處理嗎? – 2009-11-10 16:58:11