/ / क्या मुझे रिएक्टिवमोंगो चालक का उपयोग करके स्काला में सिंगलटन मोंगोड्राइवर ऑब्जेक्ट बनाना चाहिए? - मोंगोडब, स्केला, रिएक्टिवमॉन्गो

क्या मुझे Reactivemongo ड्राइवर का उपयोग कर स्कैला में सिंगलटन मोंगोड्राइवर ऑब्जेक्ट बनाना चाहिए? - mongodb, scala, reactivemongo

मेरे पास निम्नलिखित सिंगलटन ऑब्जेक्ट है जिसमें ए हैस्थैतिक विधि जिसे कनेक्ट कहा जाता है जो DB कनेक्शन देता है। शास्त्रीय तुल्यकालिक प्रोग्रामिंग में मुझे यह विश्वास है कि आप केवल एक कनेक्शन का एक उदाहरण चाहते हैं, हालांकि यह प्रतिक्रियाशीलमोंगो चालक के अतुल्यकालिक मॉडल के साथ बाधाओं पर लगता है जो एक अंतर्निहित अभिनेता (अक्का) मॉडल का उपयोग करता है।

   object MyMongoDriver  {



def connect(uri: String) {



val driver = new MongoDriver
val connection: Try[MongoConnection] =
MongoConnection.parseURI(uri).map {
parsedURI => driver.connection(parsedURI)
}



}
}

मुझे लगता है कि हालांकि यह हो रहा हैMyMongoDriver का एक उदाहरण त्वरित है, और फिर कई बार (आवश्यकतानुसार कई) कनेक्शन लौटाए जाते हैं, जिसे हर बार कनेक्ट कहा जाता है? मुझे नहीं लगता कि मुझे सिर्फ अवरुद्ध करने की शुरुआत हुई, या मेरे पास है? मुझे जो अतुल्यकालिक व्यवहार का संदेह है, वह डिज़ाइन के द्वारा होता रहता है।

उत्तर:

जवाब के लिए 0 № 1

जैसा कि इंगित किया गया है प्रलेखन "एक MongoDriver उदाहरण एक अभिनेता प्रणाली का प्रबंधन करता है; एक कनेक्शन कनेक्शन के एक पूल का प्रबंधन करता है। सामान्य तौर पर, एक MongoDriver या MongoConnection कभी भी एक से अधिक बार त्वरित नहीं होता है।"


जवाब के लिए 0 № 2

Mongodb ड्राइवर सिंगलटन बनाने के लिए आपको @Singleton का उपयोग करना होगा।

कृपया इस UserDAOMongo को एक उदाहरण के रूप में पढ़ें, https://github.com/luongbalinh/play-mongo/blob/master/app/dao/mongo/impl/UserDAOMongo.scala