पहले प्रश्न के लिए, जब तक आप प्रत्येक कॉल के अंत में थ्रेडलोकल चर को हटाते हैं तब तक कोई समस्या नहीं होती है। यह महत्वपूर्ण है क्योंकि कंटेनर (सर्वलेट या ईजेबी) आम तौर पर उपयोगकर्ता थ्रेडपूल और इसलिए धागे का पुन: उपयोग करते हैं, इसके दो प्रभाव होते हैं: एक "कॉल" पिछली कॉल से आने वाली थ्रेडलोकल जानकारी देख सकता है, और यदि आप JVM को रोक दिए बिना कंटेनर से कोई ऐप निकालते हैं कुछ वर्ग कचरा नहीं हो सकते हैं क्योंकि उन्हें अभी भी कंटेनर थ्रेड द्वारा संदर्भित किया जाता है। तो डेटा को थ्रेडलोकल में आज़माएं/आखिर में ब्लॉक करें और आखिर में हटा दें।
यहाँ एक पोस्ट समस्या को संभालने के लिए एक ही रास्ता दिखा रहा है: ThreadLocal in web applications
दूसरे प्रश्न के लिए के रूप में डेटा है threadlocal यह एक दूरस्थ कॉल के साथ नहीं आएगा, तो आप अपने इंटरफेस के लिए एक पैरामीटर जोड़ने के लिए, निकालने है threadlocal एक तरफ डेटा और किसी भी मुद्दे दूसरी तरफ इसे पुन: ...
धन्यवाद। मूल रूप से कोड को संशोधित किए बिना मौजूदा ईई एप्लिकेशन में बहुभाषी क्षमताओं को जोड़ रहा हूं। मैं भाषा स्थापित करूँगा HTTP सत्र में जानकारी और फिर 'थ्रेडलोकल' में मान सेट करने के लिए उस जानकारी का उपयोग HTTP सत्र में करें। इसलिए एप्लिकेशन में एक जगह (HTTPFilter शायद) की पहचान करनी होगी जिसे प्रत्येक अनुरोध से पहले बुलाया जाता है और HTTPSession से 'थ्रेडलोकल' में मान सेट करता है। यह सुनिश्चित करेगा कि यह ईजेबी में उपलब्ध है जिसे अंततः डेटाबेस पेटामीटर के रूप में पास किया जाएगा। –
यह सुनिश्चित करेगा कि अगर मैं इसे हटा नहीं देता हूं, तो यह हर बार ओवरराइट किया जाएगा। आपके उत्तर के लिए धन्यवाद। –