एप्लिकेशन सर्वर वातावरण के बाहर लाइब्रेरी कार्य क्यों नहीं कर सकते?
वास्तव में वे कर सकते हैं। अधिकांश पुस्तकालयों को सीधे स्टैंडअलोन (जावा एसई में) या एक .war में शामिल किया जा सकता है (व्यावहारिक रूप से यह लगभग हमेशा टॉमटैट है)। जावा ईई के कुछ हिस्से, जेपीए की तरह, उनके संबंधित विनिर्देशों में स्पष्ट खंड हैं जो बताता है कि उन्हें कैसे काम करना चाहिए और जावा एसई में उपयोग किया जाना चाहिए।
यदि कुछ भी है, तो यह इतना अधिक एक सर्वर सर्वर वातावरण नहीं है जो यहां दांव पर है, लेकिन अन्य सभी पुस्तकालयों की उपस्थिति और एकीकरण कोड जो उन्हें एकजुट करता है।
इस वजह से, एनोटेशन को केवल एक बार स्कैन करने के लिए हर लाइब्रेरी (EJB, JPA, आदि) के बजाय आपके सभी वर्गों के लिए स्कैन किया जाएगा। इसके अलावा, सीडीजे एनोटेशन को ईजेबी बीन्स पर लागू किया जा सकता है और जेपीए इकाई प्रबंधकों को इसमें इंजेक्ट किया जा सकता है।
मुझे ईमेल भेजने के लिए सरल कोड को संकलित करने के लिए JBoss के रूप में कुछ बड़े पैमाने पर क्यों चाहिए?
इस प्रश्न में कुछ चीजें गलत हैं:
- संकलन के लिए आपको केवल एपीआई जार की जरूरत है, जो वेब प्रोफाइल के लिए 1 एमबी से नीचे है, और पूर्ण प्रोफ़ाइल के लिए 1 एमबी से थोड़ा अधिक है।
- चलाने के लिए आपको स्पष्ट रूप से एक कार्यान्वयन की आवश्यकता है, लेकिन "बड़े पैमाने पर" चीजों पर काबू पा रहा है। उदाहरण के लिए OpenJDK लगभग 75MB और TomEE (मेल समर्थन वाले एक वेब प्रोफ़ाइल कार्यान्वयन) केवल 25MB है। यहां तक कि ग्लासफिश (एक पूर्ण प्रोफ़ाइल कार्यान्वयन) केवल 53 एमबी है।
- मेल जावा एसई (और इस तरह टॉमकैट ) के साथ-साथ स्टैंडअलोन मेल.जर और एक्टिवेशन.जर का पूरी तरह से ठीक काम करता है ।
जावा ईई लाइब्रेरी "मानक" क्यों नहीं हैं और नियमित जेवीएम डाउनलोड और / या एसडीके में शामिल हैं?
एक तरह से जावा ईई पहले से बड़े पैमाने पर JDK को विखंडू में विभाजित करने के पहले प्रयासों में से एक था जो प्रबंधन और डाउनलोड करने में आसान है। लोग पहले से ही शिकायत कर रहे हैं कि ग्राफिकल क्लासेस (AWT, स्विंग) और Applets JRE के अंदर हैं जब वे करते हैं तो सभी हेडलेस सर्वर पर कुछ कमांड चलाते हैं। और फिर आप सभी जावा ईई पुस्तकालयों को मानक जेडीके में शामिल करना चाहते हैं?
मॉड्यूलर सपोर्ट के अंतिम रिलीज के साथ, हमारे पास बस एक छोटा सा बेस JRE होगा, जिसमें कई चीजें अलग-अलग पैकेज के रूप में इंस्टॉल की जा रही हैं। शायद एक दिन कई या सभी कक्षाएं जो अब जावा ईई बनाती हैं, ऐसे पैकेज भी होंगे। समय बताएगा।
जब वहाँ वास्तव में मानक जावा (ओरेकल JVM / SDK | OpenJDK JVM / JDK) के केवल दो मुख्य स्वाद हैं, तो कई जावा ईई प्रसाद क्यों हैं?
जावा एसई के सिर्फ दो फ्लेवर से अधिक हैं। कम से कम IBM JDK, पिछला BEA एक (JRocket, जिसे ओरेकल / सन एक में अधिग्रहण के कारण विलय किया जा रहा है), विभिन्न अन्य खुले स्रोत कार्यान्वयन और एम्बेडेड उपयोग के लिए कार्यान्वयन का एक धब्बा है।
जावा एसई और ईई के विनिर्देशन के पीछे कारण यह है कि कई विक्रेता और संगठन इसे लागू कर सकते हैं और इस प्रकार यह प्रतिस्पर्धा को प्रोत्साहित करता है और विक्रेता लॉक-इन के जोखिम को कम करता है।
यह वास्तव में सी और सी ++ संकलक के साथ अलग नहीं है, जहां आपके पास कई प्रतिस्पर्धी प्रसाद हैं और साथ ही साथ सी ++ मानक का पालन करना है।
जावा EE लाइब्रेरी संस्करण मानक जावा लाइब्रेरी रिलीज़ के साथ सिंक में क्यों नहीं है (Java EE 6 बनाम Java 7)
जावा ईई जावा एसई पर बनाता है, इसलिए यह पीछे चलता है। संस्करण हालांकि अनुरूप हैं। जावा ईई 5 के लिए जावा एसई 5 की आवश्यकता है। जावा ईई 6 के लिए जावा एसई 6 की आवश्यकता है। यह सिर्फ इतना है कि ज्यादातर जब जावा एसई एक्स चालू होता है, तो जावा ईई एक्स -1 चालू होता है।