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

हाइबरनेट और mysql का उपयोग करके बहुत अधिक कनेक्शन

ऐसा इसलिए है क्योंकि आप एक कनेक्शन पूल का उपयोग कर रहे हैं जो जैसे ही आप सत्र फैक्ट्री बनाते हैं, लेकिन कनेक्शन केवल तभी प्राप्त होते हैं जब आप सत्र खोलते हैं। अब, आप सत्र को बंद कर रहे हैं, जिसके कारण कनेक्शन जारी किए जाते हैं, लेकिन बंद नहीं होते हैं और पूल द्वारा रोक दिए जाते हैं। अब, आप फिर से एक सत्र फ़ैक्टरी बना रहे हैं, इसलिए एक नया पूल बना रहे हैं, फिर एक सत्र प्राप्त कर रहे हैं, इसलिए एक नया कनेक्शन बना रहे हैं और इसी तरह .. जो अंततः अनुमत कनेक्शन की अधिकतम संख्या तक पहुंच जाएगा।

आपको क्या करना है एक कनेक्शन पूल (एक सत्र फैक्ट्री का उपयोग करके) का उपयोग करना और उसी पूल से कनेक्शन प्राप्त करना और जारी करना।

public class DBConnection {

      private static SessionFactory factory;
      static {
            factory = new Configuration().configure().buildSessionFactory();
      }

      public Session getSession() {
            return factory.openSession();
      }

      public void doWork() {
           Session session = getSession();
           // do work.
           session.close();
      }

     // Call this during shutdown
     public static void close() {
          factory.close();
     }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. VARCHAR से INT - MySQL तक कास्ट करें

  2. उबंटू 12.04.5 एलटीएस में सॉकेट '/var/run/mysqld/mysqld.sock' के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता

  3. SQL स्प्लिट कॉमा सेपरेटेड रो

  4. एक कॉलम में सबसे लंबे समय तक चलने के लिए mysql क्वेरी

  5. एक्सएमएल आउटपुट करने के लिए स्ट्रिंग का उपयोग कर फ़ोरैच लूप