मैं ग्लासफिश पर एक RESTful जावा बैकएंड चल रहा हूँ। कि से जुड़ा हुआ है एक एचटीएमएल 5/जे एस दृश्यपटल जो मैं एक अलग स्थान पर एक webapp परियोजना में डाल सकते हैं (और फिर एक निर्भरता के रूप में बैकएंड शामिल हैं), या चलाने के एक आईआईएस वेबसर्वर पर। सीओआरएस कोई मुद्दा नहीं है। इस निम्नलिखित समस्या का हल जो कुछ भी:ThreadLocal सिंगलटन
स्थिति:
- User 1 पर लॉग करता है और डेटाबेस पथ डेटाबेस में 'db/user1 /'
- User 1 आवेषण 'वैल्यू 1' पर सेट है
- User 2 लॉग पर और डेटाबेस पथ पर सेट है 'db/user2 /'
- User 1 डेटाबेस से
User 1 नहीं होगा 'वैल्यू 1' को हटाना की कोशिश करता है के बाद से DatabasePath/user2 db से बदल दिया गया है और वहाँ है कि डेटाबेस में कोई मान 1 है, db/user1 से हटाने के लिए मान 1 में सक्षम।
public class DataAccess{
private static DataAccess dataaccess;
private String databasepath;
public static DataAccess getInstance() {
if (dataaccess == null) {
dataaccess = new DataAccess();
}
}
}
मैं getInstance() विधि को कैसे संशोधित कर सकता हूं ताकि यह सिंगलटन के रूप में कार्य करे, लेकिन केवल उस उपयोगकर्ता के थ्रेड के अंदर ही कार्य करता है? मैंने थ्रेडलोकल नामक कुछ देखा लेकिन इसे पूरी तरह से समझ में नहीं आया, क्या शायद यह एक समाधान है?
किसी भी मदद के सबसे निश्चित रूप से सराहनीय है।
आपने 9 प्रश्न पूछे हैं, और 0 स्वीकार किए हैं। कृपया इसे सुधारें। – gaborsch
मैं उत्तर कैसे स्वीकार करूं –
एफएक्यू में इस अध्याय को पढ़ें, यहां तक कि स्क्रीनशॉट भी हैं: http://stackoverflow.com/faq#howtoask – gaborsch