Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पूल में JDBC कनेक्शन बंद करना

<ब्लॉकक्वॉट>

कनेक्शन पूल का उपयोग करते समय, क्या अंत में कनेक्शन को बंद कर देना चाहिए? यदि हां, तो क्या पूलिंग का उद्देश्य खो नहीं गया है? और यदि नहीं, तो डेटा स्रोत को कैसे पता चलता है कि कनेक्शन का एक विशेष उदाहरण कब मुक्त हो गया है और इसका पुन:उपयोग किया जा सकता है? मैं इस पर थोड़ा भ्रमित हूं, किसी भी संकेत की सराहना की।

हां, निश्चित रूप से आपको पूल किए गए कनेक्शन को भी बंद करना होगा। यह वास्तव में वास्तविक कनेक्शन के चारों ओर एक आवरण है। यह कवर के तहत वास्तविक कनेक्शन को वापस पूल में छोड़ देगा। यह तय करना पूल पर निर्भर है कि वास्तविक कनेक्शन वास्तव में होगा या नहीं एक नए getConnection() . के लिए बंद या पुन:उपयोग किया जा सकता है बुलाना। इसलिए, चाहे आप कनेक्शन पूल का उपयोग कर रहे हों या नहीं, आपको हमेशा . करना चाहिए सभी JDBC संसाधनों को उल्टे क्रम में बंद करें finally try . का ब्लॉक ब्लॉक करें जहां आपने उन्हें हासिल किया है। जावा 7 में इसे try-with-resources बयान।

<ब्लॉकक्वॉट>

क्या निम्न विधि मानक के करीब है? ऐसा लगता है कि पूल से कनेक्शन प्राप्त करने का प्रयास किया गया है, और यदि डेटा स्रोत स्थापित नहीं किया जा सकता है, तो पुराने जमाने के DriverManager का उपयोग करें। हम यह भी सुनिश्चित नहीं हैं कि रनटाइम पर कौन सा भाग निष्पादित हो रहा है। ऊपर दिए गए प्रश्न को दोहराते हुए, क्या इस तरह के तरीके से आने वाले कनेक्शन को बंद कर देना चाहिए?

उदाहरण काफी डरावना है। आपको बस DataSource . को देखने/आरंभ करने की जरूरत है एप्लिकेशन के स्टार्टअप के दौरान केवल एक बार कुछ कन्स्ट्रक्टर/एप्लिकेशनव्यापी डीबी कॉन्फ़िगरेशन क्लास के प्रारंभ में। इसके बाद बस getConnection() पर कॉल करें एप्लिकेशन के शेष जीवनकाल में एक ही डेटा स्रोत पर। सिंक्रनाइज़ेशन और न ही नलचेक की कोई आवश्यकता नहीं है।

यह भी देखें:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में फॉरेन की चेक को डिसेबल कैसे करें

  2. MySQL डेटाबेस में डेटा डालें

  3. मैं लैरवेल माइग्रेशन के साथ टाइमस्टैम्प कॉलम का डिफ़ॉल्ट मान वर्तमान टाइमस्टैम्प पर कैसे सेट कर सकता हूं?

  4. मैं एक MySQL तालिका में कॉलम के आकार को कैसे संशोधित कर सकता हूं?

  5. MySQL में लॉग फाइल कैसे देखें?