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

नेटवर्क विफलता होने पर c3p0 getConnection पर हैंग हो जाता है

मुझे एक ही समस्या का सामना करना पड़ा। मेरे मामले में, यह जेडीबीसी ड्राइवर द्वारा सॉकेट विफलताओं पर टाइमआउट करने के लिए सेटअप नहीं होने के कारण हुआ था। मैंने अपने C3P0 ComboPooledDataSource में निम्नलिखित जोड़ दिए हैं विन्यास:

cpds = new ComboPooledDataSource();
...

//--------------------------------------------------------------------------------------
// NOTE: Once you decide to use cpds.setProperties() to set some connection properties,
//       all properties must be set, including user/password, otherwise an exception
//       will be thrown
Properties prop = new Properties();
prop.setProperty("oracle.net.CONNECT_TIMEOUT",
    Integer.toString(JDBC_CONNECTION_TIMEOUT_IN_MILLISECONDS));
prop.setProperty("oracle.jdbc.ReadTimeout",
    Integer.toString(JDBC_SOCKET_TIMEOUT_IN_MILLISECONDS));
prop.setProperty("user", username);
prop.setProperty("password", password);
cpds.setProperties(prop);
//--------------------------------------------------------------------------------------

...

Oracle ड्राइवर गुण तब लागू होते हैं जब C3P0 Connection . बनाता है वस्तु। यदि सॉकेट कनेक्शन 30 सेकंड से अधिक समय तक निष्क्रिय रहता है, तो ये दो गुण विशेष रूप से एक अपवाद को फेंक देंगे।

यदि आप Oracle डेटाबेस से कनेक्ट नहीं कर रहे हैं, तो अन्य JDBC ड्राइवरों के लिए अन्य डेटाबेस विक्रेताओं के लिए समान गुण हैं। उनमें से कुछ यह पृष्ठ




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल एक स्ट्रिंग में चरित्र डालें

  2. Oracle फ़ंक्शन को कैसे कॉल करें जिसमें SYS_REFCURSOR आउट पैरामीटर के रूप में है

  3. तालिका से शीर्ष एन पंक्तियों का चयन करें

  4. टाइपओआरएम सबक्वेरी

  5. ऑप्टिमाइज़र को इंडेक्स के सभी कॉलम का उपयोग करने दें