एक Connection
रखते हुए हमेशा के लिए खुला एक बहुत बुरा विचार है। यह एक अंतहीन जीवनकाल नहीं है, जब भी डीबी कनेक्शन से बाहर हो जाता है और इसे बंद कर देता है तो आपका एप्लिकेशन क्रैश हो सकता है। सबसे अच्छा अभ्यास और . हासिल करना है बंद करें Connection
, Statement
और ResultSet
सबसे छोटे . में लीक और टाइमआउट के कारण संसाधन लीक और संभावित एप्लिकेशन क्रैश से बचने की संभावित गुंजाइश।
चूंकि डीबी को जोड़ना एक महंगा काम है, इसलिए आपको कनेक्टिंग प्रदर्शन को बेहतर बनाने के लिए कनेक्शन पूल का उपयोग करने पर विचार करना चाहिए। एक अच्छा एप्लिकेशनसर्वर/सर्वलेट कंटेनर आमतौर पर पहले से ही एक JNDI DataSource
के स्वाद में एक कनेक्शन पूल सुविधा प्रदान करता है। . इसे कैसे बनाया जाए, इसके विवरण के लिए इसके दस्तावेज़ देखें। उदाहरण के लिए टॉमकैट के मामले में आप इसे यहां पा सकते हैं।
कनेक्शन पूल का उपयोग करते समय भी, आपको उचित JDBC कोड लिखना होगा:और . प्राप्त करें कम से कम संभव दायरे में सभी संसाधनों को बंद करें। कनेक्शन पूल अपनी बारी पर वास्तव में कनेक्शन को बंद करने या आगे पुन:उपयोग के लिए इसे वापस पूल में जारी करने की चिंता करेगा।
आप इस लेख से कुछ और अंतर्दृष्टि प्राप्त कर सकते हैं कि जेडीबीसी मूल बातें कैसे उचित तरीके से करें। एक पूरी तरह से अलग विकल्प के रूप में, ईजेबी और जेपीए सीखें। यह आपके लिए सभी JDBC बॉयलरप्लेट को ऑनलाइनर में सारगर्भित कर देगा।
आशा है कि यह मदद करता है।
यह भी देखें:
- क्या मल्टीथ्रेडेड सिस्टम में स्थिर java.sql.Connection इंस्टेंस का उपयोग करना सुरक्षित है?
- क्या मैं JDBC कनेक्शन पूलिंग का उपयोग कर रहा हूँ?
- सर्वलेट आधारित एप्लिकेशन में मुझे JDBC डेटाबेस / डेटा स्रोत से कैसे जुड़ना चाहिए?
- स्प्रिंग या EJB3 या इन सभी का एक साथ उपयोग करना कब आवश्यक या सुविधाजनक है?