आप प्रत्येक व्यक्तिगत ऑपरेशन के लिए मोंगो वर्ग का एक उदाहरण बना रहे हैं। यह काम नहीं करेगा क्योंकि प्रत्येक इंस्टेंस कम से कम एक कनेक्शन बनाएगा और रखेगा (लेकिन डिफ़ॉल्ट रूप से, 10) और उन कनेक्शनों को केवल तभी हटाया जाएगा जब जावा जीसी आपके मोंगो इंस्टेंस को साफ़ कर दे या जब आप बंद करें() का आह्वान करें।
समस्या यह है कि दोनों ही मामलों में आप उन्हें एक ही धागे का उपयोग करके बंद किए जाने की तुलना में तेजी से बना रहे हैं। यह जल्दी में अधिकतम मात्रा में कनेक्शन समाप्त कर देगा। सिंगलटन पैटर्न का उपयोग करके एक मोंगो इंस्टेंस को चारों ओर रखना सही फिक्स है (Mongo.Holder इसके लिए कार्यक्षमता प्रदान करता है, Mongo.Holder.connect(..) आज़माएं)। आपकी मशीन पर फ़ाइल डिस्क्रिप्टर की सीमा को बढ़ाने के लिए एक त्वरित "फिक्स" है, इसलिए कनेक्शन की अधिकतम मात्रा काफी अधिक है, लेकिन जाहिर है कि आप अंततः उसी सीमा तक पहुंच सकते हैं। आप (शेल में) का उपयोग करके अपने वर्तमान अधिकतम की जांच कर सकते हैं:
db.serverStatus().connections
टीएल; डीआर:एक मोंगो उदाहरण को सिंगलटन के रूप में मानें और उन्हें यथासंभव लंबे समय तक जीवित रखें और आप सुनहरे हैं। एक स्थिर विधि getInstance() के साथ एक MongoFactory को कार्यान्वित करना जो आलसी बनाया गया उदाहरण देता है, चाल ठीक हो जाएगी। शुभकामनाएँ।