मेरा एप्लिकेशन कई एक्सएमएल स्रोतों से एक वेबपृष्ठ मॉडल तैयार करता है। इन स्रोतों को सामान्य Xerces पार्सर के साथ डीओएम ऑब्जेक्ट्स के रूप में स्मृति में पार्स किया जा रहा है। दुर्भाग्य से, Xerces DOM ऑब्जेक्ट्स थ्रेड केवल पढ़ने के लिए सुरक्षित हैं। मैं पढ़ने के लिए पार्सड डोम का पुन: उपयोग करने में सक्षम होना चाहता हूं। क्या किसी को भी डीओएम कार्यान्वयन पढ़ने के लिए एक और पार्सर या एक साधारण धागा सुरक्षित पता है?एक डीओएम बनाना जो पढ़ने के लिए थ्रेड सुरक्षित है
5
A
उत्तर
0
मुझे कोई सही और सरल समाधान नहीं पता है।
एक विचार हो सकता है कि थ्रेड-सुरक्षित ऑब्जेक्ट्स का उपयोग कर डोम को फिर से बनाएं।
इस मामले में, वे अपरिवर्तनीय होंगे, जैसा कि आप केवल पढ़ने के लिए हैं। अपरिवर्तनीय होने के कारण आगे के सुधारों के लिए संभावनाएं खुलती हैं (उदाहरण के लिए उदाहरण साझा करना, जो छोटी स्मृति पदचिह्न का कारण बनता है)।
काश मैं, कि यह करता है एक पुस्तकालय का सुझाव सकता है के रूप में यह कोडिंग भी पर्याप्त मात्रा में है ...
4
सैक्सन अपने आंतरिक और अपरिवर्तनीय डेटा संरचना करने के लिए डोम रैपर प्रदान करता है।
// create Saxon IdentityTransformer
final Transformer transformer = new TransformerFactoryImpl().newTransformer();
// set up holder for the output
final TinyBuilder outputTarget = new TinyBuilder(
new PipelineConfiguration(new Configuration()));
// transform into Saxon's immutable TinyTree
transformer.transform(xml, outputTarget);
// extract the whole XML as TinyNode
final TinyNodeImpl tinyNode = outputTarget.getTree().getNode(0);
// wrap TinyNode as DOM
final NodeOverNodeInfo nodeOverNodeInfo = DocumentOverNodeInfo.wrap(tinyNode);
// cast to DOM
final Document doc = (Document) nodeOverNodeInfo;
(के साथ परीक्षण किया सैक्सन-वह 9.5.1)
संबंधित मुद्दे
- 1. बनाना एक वर्ग थ्रेड-सुरक्षित
- 2. कोर डेटा थ्रेड-सुरक्षित बनाना
- 3. सूची <T> पढ़ने के लिए थ्रेड-सुरक्षित है?
- 4. एक सी लाइब्रेरी थ्रेड सुरक्षित बनाना
- 5. थ्रेड-सुरक्षित अस्थायी फ़ाइल नाम बनाना
- 6. एक सुरक्षित लॉगिन बनाना
- 7. एक हैश मैप थ्रेड-सुरक्षित विभिन्न चाबियों के लिए है?
- 8. स्ट्रीम है। थ्रेड-सुरक्षित?
- 9. एक चर (थ्रेड) की थ्रेड-सुरक्षित सेटिंग?
- 10. थ्रेड सुरक्षित-नस्ल के लिए यूनिट परीक्षण?
- 11. थ्रेड को एक वेबप्लिकेशंस बनाना जो कि टॉमकैट
- 12. गहराई बफर बनाना केवल पढ़ने के लिए
- 13. Azure CloudTable थ्रेड-सुरक्षित है?
- 14. SQLite.Net थ्रेड-सुरक्षित है?
- 15. एक शब्दकोश <K,V> थ्रेड सुरक्षित सिमुलेशन और जोड़ों के लिए सुरक्षित है?
- 16. एपोल थ्रेड-सुरक्षित है?
- 17. javax.sql.DataSource थ्रेड सुरक्षित है?
- 18. क्या HttpContext.Current.Cache थ्रेड-सुरक्षित है?
- 19. Magento थ्रेड-सुरक्षित है?
- 20. जॉइनर थ्रेड सुरक्षित है?
- 21. डेल्फी के लिए थ्रेड-सुरक्षित प्राथमिकता कतार?
- 22. एक टीएफएस शाखा बनाना केवल पढ़ने के लिए
- 23. एक वेबसाइट सेवा सुरक्षित बनाना
- 24. java.text.SimpleDateFormat थ्रेड सुरक्षित नहीं
- 25. क्या Itertools थ्रेड-सुरक्षित है?
- 26. जावा रेगेक्स थ्रेड सुरक्षित है?
- 27. कैसे थ्रेड सुरक्षित EntityManagerFactory बनाने के लिए?
- 28. क्या एनएसपीर्सिस्टेंटस्टोरकॉर्डिनेटर थ्रेड सुरक्षित है?
- 29. क्या NSUserDefault थ्रेड सुरक्षित है?
- 30. मोंगो डीबी थ्रेड-सुरक्षित है?