इसलिए कल सुबह तक मुझे इस बात का कोई सुराग नहीं था कि OSGi क्या था। OSGi बस कुछ थी कि मैं बार-बार फसल को देखता रहा, और इसलिए मैंने आखिरकार उस पर ब्रश करने के लिए कुछ समय निर्धारित किया।
यह वास्तव में बहुत अच्छा सामान लगता है, इसलिए मैं इसे (रिकॉर्ड के लिए) बताते हुए शुरू करना चाहूंगा कि मैं किसी भी मामले में एंटी-ओएसजीआई नहीं हूं, न ही यह कुछ "ओएसजीआई-कोशिंग" सवाल है।
दिन के अंत में, ऐसा लगता है कि OSGi ने अनिवार्य रूप से - जावा मॉड्युलैरिटी पर JSR 277 को संबोधित किया है , जिसने माना कि कमियां हैंJAR
फ़ाइल विनिर्देश के हैं जो कुछ कोने के मामलों में नेमस्पेस रिज़ॉल्यूशन और क्लासलोडिंग मुद्दों को जन्म दे सकती हैं। ओएसजीआई वास्तव में बहुत अच्छा सामान करता है, लेकिन मैं जो भी पता लगा सकता हूं, वह इसका सबसे बड़ा ड्रा (या उनमें से एक) है।
मेरे लिए - एक काफी नए (अब कुछ साल) जावा ईई डेवलपर के रूप में, यह बिल्कुल दिमाग से भरा हुआ है कि हम वर्ष 2011 में हैं और वर्तमान में जावा 7 के युग में रह रहे हैं, और यह कि ये क्लास लोडिंग मुद्दे अभी भी मौजूद हैं; विशेष रूप से उद्यम के वातावरण में जहां एक ऐप सर्वर पर सैकड़ों JAR हो सकते हैं, उनमें से कई एक दूसरे के विभिन्न संस्करणों के आधार पर और सभी (अधिक या कम) समवर्ती रूप से चल रहे हैं।
मेरा प्रश्न:
जैसा कि मैं OSGi में हूं, और जितना मैं इसके बारे में सीखना शुरू करना चाहता हूं, यह देखने के लिए कि मैं अपनी परियोजनाओं के लिए कहां / अगर इसका उपयोग कर सकता हूं, तो मेरे पास बैठने का समय नहीं है और कुछ सीखने के लिए समय नहीं है। कम से कम अब।
जब ये समस्याएँ आती हैं तो गैर-OSGi डेवलपर्स क्या करें? वर्तमान में क्या जावा (ओरेकल / सन / जेसीपी) समाधान मौजूद हैं, यदि कोई हो? आरा को जे 7 से क्यों काटा गया? यह कैसे सुनिश्चित किया जाता है कि J8 में अगले साल आरा लागू हो जाएगा? क्या यह अभी तक जावा प्लेटफ़ॉर्म का हिस्सा नहीं होने के बावजूद आपकी परियोजना के लिए आरा प्राप्त करना संभव है?
मुझे लगता है कि मैं यहां जो पूछ रहा हूं वह घबराहट, साज़िश और एक चेहरे का मेल है। अब जब मैं अंततः समझ गया कि OSGi क्या है, तो मुझे "प्राप्त" नहीं है कि कैसे कुछ ऐसा किया गया है जैसे कि आरा को आने में 20+ साल लग गए हैं, और फिर वह कैसे रिलीज़ से डिब्बाबंद हो सकता है। यह सिर्फ मौलिक लगता है।
और, एक डेवलपर के रूप में, मैं यह भी उत्सुक हूं कि मेरे समाधान क्या हैं, ओएसआईआईआई।
इसके अलावा, ध्यान दें : मुझे पता है कि यह एक " शुद्ध प्रोग्रामिंग " -प्रश्न सवाल नहीं है, लेकिन इससे पहले कि आप में से कुछ अपने नाक के आकार से बाहर निकलते हैं, मैं (फिर से रिकॉर्ड के लिए) यह बताना चाहता था कि मैंने जानबूझकर इस सवाल को रखा है। इसलिए। ऐसा इसलिए है क्योंकि मेरे पास मेरे साथी सॉर्स के लिए कुछ भी नहीं है लेकिन मैं "आईटी के भगवान" में से कुछ के लिए एक वास्तु-स्तरीय उत्तर की तलाश कर रहा हूं, जिसे मैं हर दिन यहां-वहां देखता हूं।
लेकिन, आप में से जो इस बात पर जोर देते हैं कि कुछ कोड खंड के साथ एक SO प्रश्न का समर्थन किया जाना चाहिए:
int x = 9;
(इस OSGi / आरा / classloader / namespace / JAR नरक सामान का वजन करने वाले किसी भी व्यक्ति को धन्यवाद!)