चूंकि DBCP आने वाले कनेक्शन अनुरोधों के लिए MySQL कनेक्शन को खुला रखता है, इसलिए वे MySQL सर्वर टाइमआउट ।
डीबीसीपी में कई विशेषताएं हैं जो मदद कर सकती हैं (टॉमकैट 5.5 आईआईआरसी से शुरू करके इस्तेमाल की जा सकती हैं)।
validationQuery="SELECT 1"
testOnBorrow="true"
सत्यापन यह सुनिश्चित करता है कि 'उधार' विधि को निष्पादित करने वाले वेबपैप पर लौटने से पहले एक कनेक्शन मान्य है। बेशक झंडा, इस सुविधा को सक्षम बनाता है।
यदि टाइमआउट (8 घंटे मेरा मानना है) बीत चुका है और कनेक्शन मर चुका है, तो एक नए कनेक्शन का परीक्षण किया जाता है (यदि अब कोई नहीं है, तो इसे बनाया जाता है) और वेबएप को प्रदान किया जाता है।
अन्य संभावित दृष्टिकोण:
-
testWhileIdle="true"
. का उपयोग करें एक प्रभावी अनुरोध का पता चलने से पहले निष्क्रिय कनेक्शन की जांच करने के लिए आपकी संसाधन सेटिंग्स में DBCP। -
अपने MySQL कनेक्शन को सख्त करने के लिए 'कनेक्शनप्रॉपर्टीज' का उपयोग करें (उदा.
autoReconnect/autoReconnectForPools=true
)