कनेक्शन विफल हो गया है, संभवतः एक फ़ायरवॉल निष्क्रिय-समयबाह्य, आदि के कारण। यदि आपके पास विफलता पर पुन:कनेक्ट करने के लिए आपका JDBC ड्राइवर कॉन्फ़िगर नहीं है, तो यह त्रुटि तब तक दूर नहीं होगी जब तक कि आप एक नया कनेक्शन नहीं खोलते।
यदि आप डेटाबेस कनेक्शन पूल का उपयोग कर रहे हैं (आप हैं एक का उपयोग करते हुए, है ना?), तो आप शायद इसकी कनेक्शन-जांच सुविधाओं को सक्षम करना चाहते हैं जैसे यह देखने के लिए एक क्वेरी जारी करना कि कनेक्शन इसे वापस आवेदन में सौंपने से पहले काम कर रहा है या नहीं। Apache Commons-dbcp में, इसे validationQuery
. कहा जाता है और अक्सर कुछ आसान पर सेट किया जाता है जैसे SELECT 1
।
चूंकि आप MySQL का उपयोग कर रहे हैं, इसलिए आपको एक कनेक्टर/जे-विशिष्ट "पिंग" क्वेरी का उपयोग करना चाहिए जो वास्तव में एक वास्तविक SQL क्वेरी जारी करने की तुलना में हल्का वजन है और अपनी सत्यापन क्वेरी को /* ping */ SELECT 1पर सेट करें। कोड> (पिंग भाग जरूरत है सटीक होना
)।