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

जेडीबीसी पूल में कनेक्शन का पुन:उपयोग कैसे करें?

आप वास्तव में कनेक्शन पूल का उपयोग नहीं कर रहे हैं। एक ConnectionPoolDataSource सीधे इस्तेमाल करने का इरादा नहीं है। यह एक (विशेष) DataSource . के रूप में अभिप्रेत है PooledConnection के लिए ऑब्जेक्ट्स जो तब कनेक्शन पूल में एक (सामान्य) DataSource . द्वारा रखे जाते हैं कार्यान्वयन जो कनेक्शन पूलिंग प्रदान करता है।

एक सामान्य डेवलपर को ConnectionPoolDataSource . का उपयोग नहीं करना चाहिए सीधे तौर पर, यह एप्लिकेशन सर्वर द्वारा प्रदान किए गए कनेक्शन पूल के साथ उपयोग के लिए या सामान्य उद्देश्य DataSource में लपेटने के लिए अभिप्रेत है। s जो कनेक्शन पूलिंग प्रदान करते हैं।

जब कोई Connection कनेक्शन पूल से अनुरोध किया गया है, यह मौजूदा PooledConnection . को चेकआउट करेगा (या इसके ConnectionPoolDataSource . से एक नया अनुरोध करें ), एक Connection प्राप्त करें और इसे उपयोगकर्ता को वापस कर दें। जब उपयोगकर्ता Connection को बंद कर देता है , PooledConnection कनेक्शन पूल को संकेत देगा कि यह फिर से उपलब्ध है।

इस मामले में आप एक PooledConnection creating बना रहे हैं , एक Connection प्राप्त कर रहा है इसमें से और फिर PooledConnection . को त्यागना . इसका मतलब है कि PooledConnection छोड़ दिया जाता है, और डेटाबेस से इसके भौतिक कनेक्शन का पुन:उपयोग नहीं किया जा सकता है और अंत में कचरा एकत्र होने पर इसे बंद/त्याग दिया जाएगा (आमतौर पर जब कनेक्शन पूल भौतिक कनेक्शन को बंद करना चाहता है, तो यह close() को कॉल करेगा> PooledConnection . पर )।

आपको या तो अपने एप्लिकेशन सर्वर द्वारा प्रदान किए गए कनेक्शन पूलिंग का उपयोग करने की आवश्यकता है, या सामान्य प्रयोजन कनेक्शन पूल जैसे DBCP, c3p0 या BoneCP का उपयोग करना होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. application.ini . में डेटाबेस टाइम ज़ोन कैसे सेट करें

  2. MySQL त्रुटि 1 (HY000) फ़ाइल बनाने में समस्या Errcode 2

  3. एक MySQL इकाई-विशेषता-मूल्य स्कीमा को कैसे पिवट करें

  4. DUPLICATE KEY पर InnoDB ऑटो इंक्रीमेंट रोकें

  5. MySQL में BLOB कॉलम में मैं कितने डेटा डाल सकता हूं?