2009-10-06 18 views
7

के साथ अपरिवर्तनीय जावा कक्षाओं को क्रियालेखन में क्रमबद्ध करना मेरे पास एक जटिल वस्तु है जिसे एलसीडीएस डाटासर्विसेज डेटा प्रबंधन द्वारा प्रबंधित किया जा रहा है और कस्टम असेंबलरों का उपयोग करके बनाया/अपडेट किया जा रहा है। ऑब्जेक्ट पदानुक्रम का विशाल बहुमत क्रमशः क्रमबद्ध/deserialized किया जा रहा है, लेकिन जब मैं अपरिवर्तनीय जावा कक्षाओं को क्रमबद्ध करने की बात आती है तो मैंने एक ठोकर खाई मार दी है।एलसीडीएस

एक जावा में केवल दुनिया मैं जावा writeReplace और readResolve तरीके के रूप में इस उत्कृष्ट ब्लॉग वर्णन का प्रयोग करेंगे: http://lingpipe-blog.com/2009/08/10/serializing-immutable-singletons-serialization-proxy/

यह कैसे मैं मूल रूप से मेरी जावा वर्ग ने लिखा है, उम्मीद LiveCycle writeReplace विधि कॉल और विधिवत को बदलने के लिए serialization के लिए एक परिवर्तनीय एक के साथ अपरिवर्तनीय वर्ग। हालांकि ऐसा लगता है कि एलसीडीएस लिखने की विधि के बारे में कुछ भी नहीं जानता है और केवल पढ़ने के लिए पढ़ा जाएगा बाहरी/लिखना अनदेखा अनदेखा पढ़ना और लिखना रद्द करें।

सबसे पहले, अन्य लोगों को यह मामला मिल गया है, या क्या मुझे कुछ याद आ रहा है?

दूसरा, क्या कोई भी अपरिवर्तनीय वस्तुओं या सिंगलेट्स में एक्शनस्क्रिप्ट कक्षाओं को deserialize करने के लिए एक उचित विधि के साथ आया है?

बहुत धन्यवाद

उत्तर

5

हां, यह एक आम समस्या है। एडोब अनुशंसा करता है कि जावा प्रकार जिसमें अपरिवर्तनीय गुण लागू होते हैं बाहरी और समकक्ष एक्शनस्क्रिप्ट प्रकार IExternalizable लागू करता है।

+0

धन्यवाद ग्रीम। मैं एक ही निष्कर्ष पर आया था। मुझे नहीं लगता कि आप लिखने के लिए किसी भी योजना के बारे में जानते हैं और पढ़ें, भविष्य में एलसीडीएस द्वारा सही तरीके से संभालने के लिए रीसोलव करें? –

2

writeReplace और readResolve को संभालने के लिए कोई योजना नहीं है, लेकिन यदि आप एक सुविधा का अनुरोध http://bugs.adobe.com/jira/browse/BLZ

जब लागू करने अपने कस्टम क्रमांकन देखभाल कि आप संख्याओं को संपीड़ित करने और डुप्लिकेट तार की पहचान करने जैसे कुछ लाभ खो देगी लेने के लिए पूछ सकते हैं। एक विचार वास्तविक धारावाहिक तंत्र पर नजर डालना और तदनुसार इसे संशोधित करना है।

हालांकि, अगर आप बस केवल पढ़ने के लिए गुण इस वृद्धि BlazeDS में लागू किया गया था serializing में रुचि रखते हैं, यहाँ एक नज़र रखना: http://bugs.adobe.com/jira/browse/BLZ-427