मुझे एक ही समस्या का सामना करना पड़ा। मेरे मामले में, यह जेडीबीसी ड्राइवर द्वारा सॉकेट विफलताओं पर टाइमआउट करने के लिए सेटअप नहीं होने के कारण हुआ था। मैंने अपने 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 ड्राइवरों के लिए अन्य डेटाबेस विक्रेताओं के लिए समान गुण हैं। उनमें से कुछ यह पृष्ठ ।