2011-05-15 6 views
7

मुझे पता है कि एप्लिकेशन-स्कोप एकाधिक उपयोगकर्ताओं में बनी रहती है, इसलिए यह स्पष्ट है कि हमें यह सुनिश्चित करना चाहिए कि सभी एप्लिकेशनस्पेड प्रबंधित बीन्स सुरक्षित हैं।हमें जेएसएफ में सत्र सत्रित प्रबंधित बीन धागा सुरक्षित क्यों करना चाहिए?

मैं यह भी समझता हूं कि हमें RequestScoped प्रबंधित बीन के लिए थ्रेड सुरक्षा की परवाह करने की आवश्यकता नहीं है। ऐसा इसलिए है क्योंकि यह केवल एक HTTP अनुरोध के लिए रहता है, और संदर्भित होने पर प्रत्येक अनुरोध के लिए इसे तुरंत चालू किया जाता है।

लेकिन मुझे पूरा यकीन नहीं है कि हमें सत्र सत्र के लिए थ्रेड सुरक्षा के बारे में चिंता क्यों करनी चाहिए। भले ही यह कई अनुरोधों पर बनी रहती है, फिर भी प्रत्येक व्यक्ति को इसका अपना उदाहरण मिलता है, है ना?

तो, सत्र सत्र द्वारा प्रबंधित थ्रेड की स्थिति में हमें थ्रेड सुरक्षा के बारे में चिंता करने की आवश्यकता क्यों है, और क्या यह व्यूस्कोप्ड प्रबंधित बीन पर भी लागू होता है? व्यूस्कोप एक ही दृश्य के लिए लगातार 2 अनुरोधों में बनी रहती है, है ना?

उत्तर

8

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

एप्लिकेशन विस्तृत डेटा/स्थिरांक के लिए एप्लिकेशन स्कोप का उपयोग करें, जैसे ड्रॉपडाउन सूचियां जो सभी के लिए समान हैं। क्लाइंट विशिष्ट डेटा, जैसे लॉग-इन उपयोगकर्ता और उपयोगकर्ता वरीयताओं (भाषा, आदि) के लिए सत्र स्कोप का उपयोग करें। समृद्ध AJAX- सक्षम गतिशील दृश्यों के लिए दृश्य दायरे का उपयोग करें (AJAXbased सत्यापन, प्रतिपादन, आदि)। सरल और गैर-AJAX रूपों/प्रस्तुतियों के लिए अनुरोध दायरे का उपयोग करें।

+0

मैं ओरेकल के जावाई 6 ट्यूटोरियल को पढ़ रहा था, और वहां यह कहता है कि जब एप्लीकेशनस्कोप्ड और सत्र स्कोप्ड प्रबंधित बीन्स का उपयोग करते हैं, थ्रेड सुरक्षा के लिए सावधानी बरतनी चाहिए, और मैं किस मायने में सोच रहा था? लेकिन, अब यह स्पष्ट है। अच्छा स्पष्टीकरण। धन्यवाद। –

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