मैं एक बहुत बड़ी एक्सएमएल फ़ाइल (700 एमबी +) बना रहा हूं जो बैच के माध्यम से बड़ी मात्रा में डेटा संसाधित करता है। कार्यक्रम एक बेहद बड़े sybase डेटाबेस और एक आवेदन के बीच एक इंटरफेस के रूप में कार्य करता है। मैं वर्तमान में कक्षाओं के लिए बाध्य xsd स्कीमा है। मुझे तर्क को फिर से शुरू करने के साथ एक्सएमएल लिखने में सक्षम होने का एक तरीका चाहिए।जावा जेएक्सबी - तर्क को पुनरारंभ करने के साथ एक्सएमएल फाइलों को लिखना
आईई। यह जानने में सक्षम है कि मैंने कहां छोड़ा था। या दूसरे शब्दों में, यदि प्रोग्राम विफल रहता है, तो मुझे यह देखने में सक्षम होना चाहिए कि आखिरी बार एक्सएमएल फाइल को क्या लिखा गया था, इसलिए यह कहां उठाया जा सकता है। यहाँ एक exmaple है।
<root>
<WorkSet>
<Work>
<Customer>
<Work>
<Customer>
<WorkSet>
<Work>
.....
<root>
कहें कि प्रोग्राम 'काम' या 'वर्कसेट' नोड लिखने के बाद विफल रहता है। क्या प्रसंस्करण छोड़ने के लिए कोई रास्ता है? मैं एक्सएमएल फ़ाइल के कतरनी आकार के कारण एक्सएमएल फ़ाइल को स्मृति में वापस पढ़ने से बचने की कोशिश कर रहा हूं (कहें कि यह एक्सएमएल के 500 एमबी खत्म करता है और विफल रहता है)।
सहायता के लिए धन्यवाद।
+1 - मैं इन पंक्तियों के साथ कुछ सुझाव देने जा रहा था। –
वर्कसेट जावा क्लास में @XmlRootElement टैग जोड़ना एकाधिक वर्कसेट्स के समापन के बाद एक बड़ी एक्सएमएल फ़ाइल की कार्यक्षमता को प्रभावित करेगा? मैं कुछ नया जेएक्सबी हूं इसलिए मुझे बताएं कि क्या मैं इसे सही ढंग से समझ नहीं रहा हूं। – TyC
मुझे नहीं लगता कि एक '@ XmlRootElement' जोड़ना आपकी पूर्व कार्यक्षमता को प्रभावित करेगा। '@ xmlRootElement' को जोड़ने के बिना 'मार्शलर.मारशाल()' निम्नलिखित अपवाद फेंकता है: 'com.sun.istack.SAXException2: मार्शल प्रकार में असमर्थ" org.package.MyWorkSet "तत्व के रूप में क्योंकि यह एक गायब है @ XmlRootElement एनोटेशन'। – palacsint