संक्षेप में: आप इसे ( @Singleton
और @ApplicationScoped
) भी मिला सकते हैं और यह कुछ परिदृश्यों में समझ में आता है।
(और मेरी उम्मीद के मुताबिक काम करता है!)
इसके अतिरिक्त अन्य उत्तरों से मैं अब तक वास्तविक विश्व परिदृश्यों में स्पष्टीकरण के लिए कुछ और बिंदु जोड़ना चाहूंगा।
मेरे लिए यह प्रश्न विकसित हुआ कि कैसे मैं एप्लिकेशन स्टार्टअप पर एक एप्लीकेशन-स्कॉप्ड बीन को तुरंत लागू करने के लिए मजबूर करूं?
कुछ चर्चा में मैंने यह कहा था और इसके खिलाफ एक वैध तर्क नहीं मिल सकता है:
बहुत सारे वास्तविक जीवन के परिदृश्यों / सेटअपों में, मैं कहूंगा कि निश्चित रूप से कहना मुश्किल है - एक अमूर्त / मॉडलिंग के दृष्टिकोण से - चाहे कोई चीज हो (या जैसा व्यवहार किया जाएगा / किया जाएगा) एक ईजेबी या एप्लिकेशन-स्कॉप्ड प्रबंधित बीन।
(बहस योग्य लेकिन निर्णायक नहीं) (मेरे दृष्टिकोण से) अब तक इसके खिलाफ: (@ बाल्सक और अन्य सभी: मैं उन्हें निर्णायक रूप से मधुमक्खी देखना चाहूंगा, लेकिन यदि नहीं, तो ऊपर सच हो सकता है और फिर भी तर्क हो सकता है) अभी भी अंतर / फायदे / नुकसान / बुरे / अच्छे व्यवहार पाने के लिए पाठक की मदद करें)
ईजेबी बनाम प्रबंधित बीन
BalusC : यह एक EJB है जो एक प्रबंधित बीन नहीं है, जो काफी अलग है। EJB बैकएंड में चलते हैं और फ्रंटेंड में सेम प्रबंधित करते हैं। EJB लेनदेन के संदर्भ में भी चलते हैं। [...] आप बस प्रबंधित सेम के साथ उद्यम सेम को भ्रमित करते हैं और मैंने अभी बताया है।
परंतु:
मुझे : मुझे लगता है कि आप काफी सही नहीं हैं और अर्थ / उपयोग को ओवरस्टैट कर रहे हैं और यह मेरे लिए बहस योग्य लगता है। http://en.wikipedia.org/wiki/Enterprise_JavaBeans
एंटरप्राइज JavaBeans (EJB) एंटरप्राइज़ सॉफ़्टवेयर के मॉड्यूलर निर्माण के लिए एक प्रबंधित, सर्वर सॉफ्टवेयर और कई जावा एपीआई में से एक है। EJB एक सर्वर-साइड सॉफ्टवेयर घटक है जो किसी एप्लिकेशन के व्यावसायिक तर्क को एन्क्रिप्ट करता है।
एंटरप्राइज बीन्स के प्रकार
सत्र बीन्स [3] जो "स्टेटफुल", "स्टेटलेस" या "सिंगलटन" [...] हो सकता है
संदेश प्रेरित बीन्स [...]
... जो अभी भी मेरे मामले में सही है।
सिंगलटन ईजेबी बनाम एप्लीकेशन स्कॉप्ड बीन
ताला
BalusC : एक सिंगलटन EJB एक एप्लीकेशन स्कॉप्ड बीन के समान नहीं है। एक सिंगलटन EJB को लॉक / रीड किया जाता है और इस प्रकार आपके द्वारा मन में लिए गए कार्य के लिए संभावित रूप से अक्षम / अति-असंबद्ध। लंबी कहानी छोटी: एक अच्छी जावा ईई पुस्तक को पकड़ो और नौकरी के लिए सही उपकरण का उपयोग करना सीखो। एक रास्ता निश्चित रूप से दूसरा रास्ता नहीं है। यह काम करता है इसका मतलब यह नहीं है कि यह सही उपकरण है। एक स्लेजहेमर एक पेंच को बन्धन करने में सक्षम है, लेकिन यह जरूरी नहीं कि सही उपकरण है :)
परंतु:
(मैं स्लेजहैमर को यहाँ नहीं देख सकता - क्षमा करें ...) यह लॉकिंग डिफॉल्ट्स को जानने के लिए अच्छा है (मुझे इसके बारे में पता नहीं था), लेकिन यह फिर से गलत लगता है: ओरेकल जावा ईई 6 ट्यूटोरियल ऑन मैनेजिंग समवर्ती एक्सेस में एक सिंगलटन सत्र बीन
एक सिंगलटन सेशन बीन बनाते समय, सिंगलटन के बिज़नेस के तरीकों को समवर्ती एक्सेस दो तरीकों से नियंत्रित किया जा सकता है: कंटेनर-प्रबंधित कॉन्सिरेन्सी और बीन-मैनेजेड कॉन्सैबरी। [...]
हालाँकि, डिफ़ॉल्ट रूप से, एकल-पात्र कंटेनर-प्रबंधित कॉन्सेप्ट का उपयोग करते हैं, @ConcurrencyManagement (CONTAINER) एनोटेशन को स्पष्टता प्रबंधन प्रकार सेट करने के लिए सिंगलटन के वर्ग स्तर पर जोड़ा जा सकता है
@ApplicationScoped
और@Singleton
इसके अनुभाग 5.4 (पृष्ठ 36) के बीच व्यावहारिक अंतर के बारे में कुछ स्पष्टीकरण है ।