2008-08-27 14 views
6

मेरी समझ के अनुसार स्टेटलेस सत्र बीन्स का उपयोग व्यावसायिक तर्क को कोड करने के लिए किया जाता है। वे अपने आवृत्ति चर में डेटा स्टोर नहीं कर सकते हैं क्योंकि उनका उदाहरण एकाधिक अनुरोधों द्वारा साझा किया जाता है। तो वे सिंगलटन कक्षाओं की तरह अधिक प्रतीत होते हैं। हालांकि अंतर में प्रत्येक अनुरोध के लिए स्टेटलेस सत्र बीन्स का अलग उदाहरण बनाता है (या पूल से पुन: उपयोग करता है)।क्यों स्टेटलेस सत्र सेम एकल धागे हैं?

मैं तर्क है कि जावा ईई विनिर्देश कहते हैं कि वे एक लड़ी होने के लिए लगता है कि कर रहे हैं मिल सकता है googling के बाद। लेकिन मुझे कारण नहीं मिल रहा है कि सिंगल थ्रेडेड क्यों निर्दिष्ट किया गया है?

उत्तर

5

SLSBs TX प्रसंग की वजह से एकल पिरोया जाता है, प्राचार्य एक सेम उदाहरण के साथ जुड़े जब यह कहा जाता है। इन बीन्स को पूल किया जाता है और जब तक कि अधिकतम पूल आकार तक नहीं पहुंच जाता है, अलग-अलग धागे (विक्रेता निर्भर) में संसाधित होते हैं।

यदि एसएलएसबी को थ्रेड सुरक्षित बनाया गया था तो प्रत्येक कॉल टीएक्स संदर्भ, सुरक्षा संदर्भ जानकारी आदि सहित अनुरोध जानकारी के साथ एक सर्वलेट डूगेट/पोस्ट की तरह दिखाई देगी, इसलिए कम से कम कोड साफ (डेवलपर आश्रित) दिखता है।

4

प्राथमिक कारण राज्यविहीन सत्र सेम हैं एकल लड़ी उन्हें बेहद कंटेनर के लिए स्केलेबल बनाने के लिए है। कंटेनर रनटाइम पर्यावरण के बारे में बहुत सरल धारणाएं कर सकता है। दूसरा कारण डेवलपर के लिए जीवन को आसान बनाना है क्योंकि डेवलपर को अपने व्यापार तर्क में किसी भी सिंक्रनाइज़ेशन या पुन: प्रवेश के बारे में चिंता करने की ज़रूरत नहीं है क्योंकि बीन को किसी अन्य धागे संदर्भ में कभी नहीं बुलाया जाएगा।

मुझे मूल EJB 1.0 विनिर्देश की समीक्षाओं में चर्चा की जा रही तर्क याद है। मैं विनिर्देश के लक्ष्य खंड को देखता हूं। विनिर्देशों की सूची के लिए http://java.sun.com/products/ejb/docs.html देखें।

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