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

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:कनेक्शन बंद होने के बाद किसी भी संचालन की अनुमति नहीं है

जैसा कि @swanliu ने बताया कि यह खराब कनेक्शन के कारण है।
हालांकि सर्वर टाइमिंग और क्लाइंट टाइमआउट को एडजस्ट करने से पहले, मैं पहले एक बेहतर कनेक्शन पूलिंग रणनीति का उपयोग करने का प्रयास करूंगा।

कनेक्शन पूलिंग

हाइबरनेट स्वयं स्वीकार करता है कि इसकी कनेक्शन पूलिंग रणनीति न्यूनतम है

मैं व्यक्तिगत रूप से C3P0 . का उपयोग करता हूं . हालांकि DBCP . सहित अन्य विकल्प भी उपलब्ध हैं .
चेक आउट करें

मेरे आवेदन में प्रयुक्त C3P0 का न्यूनतम विन्यास नीचे दिया गया है:

<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
<property name="c3p0.acquire_increment">1</property> 
<property name="c3p0.idle_test_period">100</property> <!-- seconds --> 
<property name="c3p0.max_size">100</property> 
<property name="c3p0.max_statements">0</property> 
<property name="c3p0.min_size">10</property> 
<property name="c3p0.timeout">1800</property> <!-- seconds --> 

संपादित करें:
मैंने कॉन्फ़िगरेशन फ़ाइल अपडेट की (Reference ), जैसा कि मैंने पहले ही अपने प्रोजेक्ट के लिए कॉपी पेस्ट किया था। टाइमआउट आदर्श रूप से समस्या का समाधान करना चाहिए, अगर यह आपके लिए काम नहीं करता है तो एक महंगा समाधान है जो मुझे लगता है कि आप देख सकते हैं:

एक फ़ाइल "c3p0.properties" बनाएं जो क्लासपाथ की जड़ में होनी चाहिए (यानी एप्लिकेशन के विशेष हिस्सों के लिए इसे ओवरराइड करने का कोई तरीका नहीं)। (संदर्भ )

# c3p0.properties
c3p0.testConnectionOnCheckout=true

इस कॉन्फ़िगरेशन के साथ प्रत्येक कनेक्शन का उपयोग करने से पहले परीक्षण किया जाता है। हालांकि यह साइट के प्रदर्शन को प्रभावित कर सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utf8 का उपयोग करने के लिए या नहीं - MySQL और PHP वर्ण एन्कोडिंग समस्या

  2. MySQL विदेशी कुंजी त्रुटि 1005 त्रुटि 150 प्राथमिक कुंजी विदेशी कुंजी के रूप में

  3. EXTRACT () उदाहरण – MySQL

  4. हाइबरनेट देशी SQL क्वेरी त्रुटि

  5. एक वर्ष के भंडारण के लिए MySQL प्रकार:स्मालिंट या वर्चर या दिनांक?