संक्षिप्त उत्तर यह पर्याप्त होना चाहिए। DBCP कनेक्शन पूल (डिफ़ॉल्ट) से उधार लेने पर कनेक्शन के परीक्षण का समर्थन करता है, लेकिन वापसी पर परीक्षण और निष्क्रिय होने पर परीक्षण का भी समर्थन करता है।
यह समझने लायक भी है कि यहां क्या गलत हो रहा है। ऐसा लगता है कि आपके टॉमकैट सर्वर और डेटाबेस के बीच कुछ टाइमआउट (जैसे राउटर या फ़ायरवॉल) के बाद निष्क्रिय कनेक्शन छोड़ रहा है। इसके साथ समस्या यह है कि टॉमकैट सोचता है कि उसके पास अभी भी एक वैध कनेक्शन है, कनेक्शन के साथ कुछ काम करने की कोशिश करता है और विफल रहता है, लेकिन कनेक्शन को जीवित रखता है और इसे पूल में वापस कर देता है। अब डेटाबेस से बात करने का कोई और प्रयास विफल हो जाएगा यदि उसे पूल से वही टूटा हुआ कनेक्शन दिया जाए।
मुझे लगता है कि यह माइकल न्यागार्ड की उत्कृष्ट 'रिलीज़ इट!' थी। पुस्तक जिसने इस परिदृश्य का वर्णन उसकी खाई से निकली कहानियों में से एक में किया है।
आप यह भी देखना चाहेंगे कि MySQL मृत कनेक्शन को कैसे साफ करता है जब 8 घंटे के बाद टॉमकैट कनेक्शन खो देता है तो डीबी भी असफल कनेक्शन से अनजान होगा।
एक अंतिम बिंदु, यदि आप टॉमकैट 7 का उपयोग कर रहे हैं तो उनके नए कनेक्शन पर स्विच करें। पूल क्योंकि यह DBCP से बेहतर प्रदर्शन प्रदान करता है।