2015-01-01 8 views
19

मैं एक नई परियोजना शुरू कर रहा हूं जहां मेरे पास तीसरी पार्टी एक्सएसडी है। मेरे जावा एप्लिकेशन को एक्सएमएल संदेशों को उत्पन्न करने की आवश्यकता है जो इस एक्सएसडी के अनुरूप हैं और आने वाले एक्सएमएल संदेशों को पढ़ते हैं जो इस एक्सएसडी के अनुरूप हैं। अतीत में मैंने इस के लिए अपाचे XMLBeans का उपयोग किया है (http://xmlbeans.apache.org/)। ऐसा लगता है कि एक्सएमएलबीन सेवानिवृत्त हो गया है। XMLBeans के लिए अब एक अच्छा प्रतिस्थापन क्या है कि इसे सेवानिवृत्त कर दिया गया है? मैंने अन्य परियोजनाओं पर एक्सस्ट्रीम का उपयोग किया है, लेकिन मुझे याद नहीं है कि एक्सस्ट्रीम में एक्सएसडी से जावा कक्षाएं उत्पन्न करने की क्षमता है इसलिए मैं सोच रहा हूं कि इस उपयोग के मामले में XMLBeans पर यह एक अच्छा विकल्प नहीं है। मेरे पास एक्सएसडी में सैकड़ों प्रकार परिभाषित हैं और वास्तव में जावा में उन्हें प्रदर्शित करने के लिए सैकड़ों जावा कक्षाएं बनाना पसंद नहीं करेंगे।एक्सएमएलबींस के बजाय अब क्या उपयोग करना है कि इसे सेवानिवृत्त कर दिया गया है?

दूसरे शब्दों में, Xstream उदाहरण यहां दिए गए का उपयोग कर: http://x-stream.github.io/tutorial.html, मैं एक व्यक्ति प्रकार (और 99 अन्य) XSD में परिभाषित किया गया है। XMLBeans का उपयोग करके मैं इन ऑब्जेक्ट्स का प्रतिनिधित्व करने के लिए जावा क्लासेस उत्पन्न कर सकता हूं लेकिन एक्सस्ट्रीम I का उपयोग करके मुझे जावा क्लासेस (उदा। व्यक्ति) हाथ से या किसी अन्य टूल का उपयोग करने की आवश्यकता होगी। इस मामले में मुझे किस टूल का उपयोग करना चाहिए?

किसी भी मदद की सराहना की जाएगी।

धन्यवाद, जॉन

+1

है आप 'axis2' का उपयोग कर रहे हैं, तो' ADB' में विकल्प वे सुझाव देते हैं चेकआउट करने के लिए, 'JiBX' और' XMLBeans' (अब सेवानिवृत्त) [सुनिश्चित हो यहां] (https://axis.apache.org/axis2/java/core/docs/userguide-creatingclients.html#choosingclient)। – mystarrocks

+0

वर्ग – MihaiC

+0

उत्पन्न करने के लिए xsd का उपयोग करें क्षमा करें, लेकिन लाइब्रेरी अनुशंसाओं के लिए अनुरोध स्पष्ट रूप से ऑफ-विषय हैं। मेरा सुझाव है कि आप "xsd java उत्पन्न" के लिए Google ... या "सॉफ़्टवेयर अनुशंसाएं" साइट आज़माएं; निचे देखो। –

उत्तर

8

आप JAXB को देखा है? मैंने इनमें से किसी के साथ कुछ भी नहीं किया है, लेकिन "XMLBeans के विकल्प" के लिए googling इस पैकेज के बहुत सारे संदर्भ लाता है। यहाँ एक लेख है कि उन्हें तुलना ...

http://blog.bdoughan.com/2012/01/how-does-jaxb-compare-to-xmlbeans.html

+0

ऐसा लगता है (अब तक) जेएक्सबी हमें जो कुछ चाहिए उसे प्रदान करने जा रहा है। मैं xsd से जावा कक्षाएं उत्पन्न करने में सक्षम था (573 जावा कक्षाएं उत्पन्न हुई थीं)। एक 'संपत्ति मूल्य पहले से परिभाषित' त्रुटि थी जो उत्पन्न हुआ था जब मैंने XMLBeans कक्षाएं उत्पन्न नहीं की थीं। मैं अभी इस मुद्दे के आसपास काम करने में सक्षम था (मुझे लगता है कि मुझे स्थायी फिक्स के लिए एक जैक्सबी बाध्यकारी फ़ाइल लिखनी होगी)। मदद स्टीव के लिए धन्यवाद यह बहुत सराहना की है। – John

+1

केवल? मेरे लिए जेएक्सबी के साथ समस्या, "unmarshaller/marshaller" गड़बड़ है ...: - \ XMLBeans बहुत सरल और पारदर्शी है। साथ ही, मुझे नहीं पता कि "xml डेटाबेस" को कैसे कार्यान्वित किया जाए (xmlbeans xml elments को सूची या सरणी के रूप में हेरफेर करने के तरीकों को बनाता है) – marcolopes

+0

जिस मुद्दे पर हम भाग गए थे वह थ्रेड सुरक्षित v। प्रदर्शन के साथ समस्या थी। संदर्भ वस्तु बनाना बहुत बड़ा xml के लिए धीमा है। मार्शलर और unmarshaller थ्रेड सुरक्षित नहीं हैं। यहां और अधिक: https://jaxb.java.net/guide/Performance_and_thread_safety.html और यहां: http://stackoverflow.com/questions/7400422/jaxb-creating-context-and-marshallers-cost – John

संबंधित मुद्दे

 संबंधित मुद्दे