जैसा कि आप सुझाव देते हैं, ऐसा इसलिए है क्योंकि MySQL प्रत्येक wait_timeout . के बाद निष्क्रिय कनेक्शन बंद कर देता है गुजरता; आपकी समस्या के समाधान के लिए आपके पास कुछ विकल्प हैं:
- कनेक्शन पूल प्रबंधक का उपयोग करें, जैसे c3p0 या apache DBCP . यह अनुरोध पर कनेक्शन के पुनर्वैधीकरण का ध्यान रखेगा, अंत में आप यह निर्दिष्ट कर सकते हैं कि कनेक्शन के जीवित होने पर परीक्षण करने के लिए कौन सी क्वेरी चलानी है।
- सेट
wait_timeoutmysql में आपके उपयोग के मामले के लिए काफी बड़ा है (डिफ़ॉल्ट 8 घंटे है)। - एक निर्धारित कार्य सेट करें (उदाहरण के लिए quartz का उपयोग करके ) जो कनेक्शन को रीफ्रेश करता है, mysql सर्वर को "पिंगिंग" करता है।