वही सवाल मेरे मन में आया और मैं निम्नलिखित परिणाम मिल गया है:
1: मिथुन जो एक बहुत लंबे समय तक है स्प्रिंग पर आधारित है अतीत और बहुत साबित हुआ। जैसा कि मैंने कोड में देखा था मिथुन अधिक विस्तार संभावनाओं के साथ थोड़ा क्लीनर लग रहा था, हालांकि मुझे नामस्थान हैंडलर के साथ समस्या थी। 1.0.0 संस्करण के साथ भी यह नामस्थान हैंडलर की प्रतीक्षा नहीं करता था। मेष एनएस हैंडलरों के लिए वैसे ही इंतजार कर रहे हैं जैसे यह आवश्यक संदर्भों की प्रतीक्षा करता है। मैंने ओएसजीआई लोगों से पूछा और उन्होंने कहा कि अगले ब्लूप्रिंट स्पेक में मानक एनएस हैंडलर एपीआई हो सकती है कि मेरी राय में बहुत मदद मिलेगी। मेरा निष्कर्ष यह था कि मैं अपाचे मेष का उपयोग करता हूं लेकिन यह अंतिम निर्णय नहीं है। मैं इस विषय की समीक्षा साल की हर तिमाही में करता हूं। मैंने कुछ सुझाव दिए हैं कि ब्लूप्रिंट को कैसे सुधारें और इसे OSGi bugzilla पर अपलोड करें। मैं गर्मियों में इन वृद्धियों को लागू करना चाहता हूं और जैसा कि मैंने कोड में देखा है, यह मिथुन के आधार पर बहुत आसान होगा।
2: मिथुन में एक एम्बेडेड टोमकैट है। यदि आप बस एक विषुव में बंडलों को छोड़ देते हैं तो यह बहुत अच्छी तरह से काम करता है। हालांकि इसमें वसंत के लिए कई निर्भरताएं शामिल हैं जिन्हें मैं टालना चाहता था। मुझे वसंत पसंद है लेकिन मुझे जितनी आवश्यकता हो उतनी निर्भरता के रूप में मैं चाहता था। मुझे नहीं लगता कि इस विषय में मेष का कोई बड़ा समर्थन है।अंत में मैंने जेटी का उपयोग शुरू किया जो अब तक माईफैस और जर्सी के साथ काम करता है। मैंने अभी तक कुछ और कोशिश नहीं की है। इसके अलावा मुझे जेटी की कॉन्फ़िगरेशन संभावनाएं भी पसंद आईं। कॉन्फ़िगरेशन बंडल को पर्यावरण चर के रूप में परिभाषित किया जा सकता है जो कि यदि आप अपने निर्माण जीवन चक्र के हिस्से के रूप में एकीकरण-परीक्षण चलाने के लिए बहुत कुछ मदद कर सकते हैं। यदि मिथुन अधिक कॉन्फ़िगरेशन विकल्पों का समर्थन करता है (जैसे बंडल से आ रहा है) तो मैं उस पर जाने के बारे में सोचूंगा।
3: जैसा कि मुझे जेटीए का उपयोग करना पसंद है, यह मेरे लिए मिथुन का उपयोग करने का कोई विकल्प नहीं था। मैंने थोड़ी देर के लिए मेष जेपीए का इस्तेमाल किया और मैं इससे संतुष्ट था। जैसा कि मैं कई सहयोगियों के साथ काम करता हूं, मैं उनकी प्रभावशीलता के लिए जिम्मेदार हूं। मेष जेपीए के साथ मुझे समस्या थी कि यह DataSourceFactory सेवाओं (यदि डीबी कनेक्शन persistence.xml में परिभाषित किया गया है) या डेटासोर्स सेवाओं (यदि jta-data-source या non-jta-data-source) परिभाषित किया गया है, तो प्रतीक्षा नहीं की गई है। इसका मतलब था कि जब आप मेष जेपीए का उपयोग करते हैं तो बंडल शुरू करने का आदेश महत्वपूर्ण होता है।
जब तक हमने ग्लासफ़िश और जेएनडीआई का उपयोग नहीं किया तब तक यह कोई समस्या नहीं थी क्योंकि ग्लासफ़िश ने हमारे ओएसजीआई बंडलों से पहले जेएनडीआई संसाधन शुरू किया था। जब हम ओएसजीआई कंटेनर को साफ करने के लिए चले गए तो हमें समस्याएं शुरू हुईं और मेरे सहयोगियों ने सही बंडल ऑर्डर करने की कोशिश करने में बड़ी संख्या में खर्च करना शुरू कर दिया।
अंत में मैंने मेष राशि जेपीए को एक बंडल में बंडल किया और उन हिस्सों को फिर से लिखना जिन्हें मैं पसंद नहीं आया। इसका मतलब है कि मैंने केवल persistence.xml पार्सर भाग रखा है और http://everit.org/osgi/jpa/org.everit.osgi.jpa.container/index.html पर अपनी परियोजना बनाई है जहां मैंने इस परेशानी को ध्यान में रखते हुए केंद्रित नहीं किया। वर्तमान में यह हाइबरनेट के साथ काम करता है और मुझे लगता है कि Eclipselink और संकलन समय बढ़ाया OpenJPA के साथ (कोशिश नहीं की है)। मेरे द्वारा लिखित कंटेनर org.apache.aries.jpa.container.context और aries jpa blueprint नामस्थान हैंडलर के साथ अच्छी तरह से काम करता है।
4: यदि आप एक एप्लिकेशन सर्वर का उपयोग करते हैं और आप सुनिश्चित हैं कि आपका जेएनडीआई पर्यावरण इसका उपयोग करने से पहले आपके बंडलों से पहले शुरू होता है। हालांकि आप संशोधन को पकड़ नहीं सकते हैं या जेएनडीआई संसाधन को हटा नहीं सकते हैं इसलिए मैं ओएसजीआई के अंदर इसका उपयोग करने का सुझाव नहीं देता हूं। यदि आपको जेपीए की वजह से इसकी आवश्यकता है तो मैं अपने कंटेनर कार्यान्वयन का सुझाव दे सकता हूं :) जो मानक ओएसजीआई सेवा ट्रैकर्स का उपयोग करता है भले ही आप osgi: service/... अभिव्यक्ति के साथ अपने persistence.xml में * -डेटा-स्रोत का उपयोग करते हैं। यदि आपको केंद्रीय कॉन्फ़िगरेशन स्थान की आवश्यकता है तो मैं अनुशंसा करता हूं कि आपको ओएसजीआई विनिर्देश के मेटाटेप और कॉन्फ़िगरेशन व्यवस्थापन भागों के फ़ेलिक्स-वेबकॉलोल के कॉन्फ़िगरेशन टैब को देखना चाहिए। यदि आप मेटाटाइप की सहायता से कॉन्फ़िगरेशन सेटिंग को परिभाषित करते हैं तो वे फ़िलिक्स-वेबकोनोल पर और कॉन्फ़िगरेशन एडमिन एपीआई के माध्यम से उपलब्ध होंगे, आप कॉन्फ़िगरेशन परिवर्तन ईवेंट को पकड़ सकेंगे। मैंने परीक्षण किया और फेलिक्स-वेबकॉन्सोल ने मेरे लिए इक्विनोक्स-जेट्टी जोड़ी पर भी काम किया।
आशा है कि मेरा इनपुट उपयोगी था!
स्रोत
2012-05-29 23:19:43