2011-01-10 4 views
9

मोंगोडीबी जावा ड्राइवर प्रलेखन के अनुसार, डेटाबेस कनेक्शन पूलिंग को मोंगो ऑब्जेक्ट द्वारा जादुई रूप से संभाला जाता है।मोंगोडीबी जावा ड्राइवर डेटाबेस कनेक्शन टॉमकैट

क्या इसका मतलब यह है कि एक सिंगलटन ऑब्जेक्ट का उदाहरण बनाना सुरक्षित है जो एक सर्वलेट में मोंगोडीबी डेटाबेस से कनेक्ट होता है जो टॉमकैट शुरू होता है और टॉमकैट में context.xml के माध्यम से डेटाबेस कनेक्शन पूलिंग को कॉन्फ़िगर करने के बारे में चिंता नहीं करता है?

क्या यह इसके बारे में सोचने का सही तरीका है? क्या मैं सामान्य रूप से टोमकैट/डेटाबेस कनेक्शन पूलिंग की कुछ बुनियादी अवधारणा को गलत समझ रहा हूं?

+0

धन्यवाद एनाओन मेरे पास एक ही सवाल है लेकिन आपने इसे मुझसे बेहतर तरीके से phrased किया है। – DevilCode

उत्तर

9

हम CFMongoDB प्रोजेक्ट के माध्यम से जावा ड्राइवरों का उपयोग कर रहे हैं और जैसा कि आप वर्णन करते हैं, हम इसका उपयोग करते हैं, लेकिन इसके बजाय जावा में कोल्डफ्यूजन एप्लिकेशन में। हालांकि वही विचार: एक वस्तु बनाई गई है और हम इसका पुन: उपयोग करते हैं और वह वस्तु मोंगो सर्वर से एक कनेक्शन को बनाए रखती है।

आप एक मोंगो जावा इंस्टेंस बना सकते हैं और यह कनेक्शन के आंतरिक पूल (10 का डिफ़ॉल्ट आकार) बनाए रखेगा - आपके लिए यह छिपा हुआ है और आपको इसके बारे में चिंता करने की आवश्यकता नहीं है।

http://www.mongodb.org/display/DOCS/Java+Driver+Concurrency

हम यह उत्पादन में अब चल रहा है और उनमें कोई समस्या नहीं किया गया है: मोंगो जावा डॉक्स इस सलाह देते हैं। एकाधिक वेब अनुरोध धागे एक ही मोंगो इंस्टेंस का उपयोग करते हैं और मोंगो इसके आंतरिक पूल का उपयोग करके इस से निपटने के लिए पर्याप्त तेज़ है (हम लॉगिंग कर रहे हैं ताकि यह बहुत तेज़ लिख सके!)।

यह किसी भी उदाहरणों है कि आप के साथ समाप्त कर पर close() कॉल करने के लिए याद लायक है - यह कनेक्शन समय के साथ मोंगो सर्वर पर ऊपर प्रयोग किया जा रहा है बंद हो जाएगा:

http://api.mongodb.org/java/2.5-pre-/com/mongodb/Mongo.html#close()

सारांश में

तो, डॉन टॉमकैट को कॉन्फ़िगर करने के बारे में चिंता न करें।

आशा है कि मदद करता है!