हाय सब मुझे पता था कि यह एक पुराना सवाल है लेकिन आज उत्सुक है। जैसा कि हम कनेक्शन जानते हैं। बंद भी तैयार हो जाएगा स्टेटमेंट (अगर मैं गलत हूं तो मुझे सही करें)। लेकिन अगर मैं कनेक्शन बंद करता हूं तो बंद करें स्टेटमेंटजेडीबीसी कनेक्शन बंद और तैयारस्टेटमेंट बंद
conn.close();
ps.close();
क्या मुझे एक नलपोइंटर अपवाद मिलेगा?
कोई कह रहा था कि आपके जेवीएम गति पर निर्भर करता है। कभी-कभी ps.close() आगे बढ़ेगा और conn.close से पहले बंद हो जाएगा और उसकी नौकरी खत्म हो जाएगी और इसलिए आपको नलपोइंटर नहीं मिलेगा।
आदेश है कि परीक्षण करने के लिए में, मैं कोड
conn.close();
Thread.sleep(5000);//I give 5s to conn.close to finish his work. should be enough
ps.close();
संशोधित किया है लेकिन मैं nullpointer नहीं मिला।
तो मेरा सवाल यह है कि अगर मैं पहले और फिर पीएस को बंद कर देता हूं तो यहां क्या हुआ।
सभी को धन्यवाद।
जेडीबीसी विनिर्देश इस बारे में बहुत स्पष्ट है: कनेक्शन बंद करने से सभी आश्रित वस्तुओं को बंद कर दिया जाता है (कम से कम उपयोगकर्ता परिप्रेक्ष्य से; पूल के अंदर कथन पूलिंग के मामले में खुला रहता है, लेकिन उस कथन के लिए उपयोगकर्ता-हैंडल होना चाहिए व्यवहार करें जैसे यह बंद है)। पहले से बंद जेडीबीसी संसाधन (कनेक्शन, कथन, परिणाम आदि) को बंद करना कोई प्रभाव नहीं होना चाहिए (कोई त्रुटि नहीं, आदि)। –
मैं पूलर्स द्वारा लौटाए गए सजाए गए कनेक्शन के बारे में बात कर रहा था और इस तरह के सजाए गए कनेक्शन पर एक करीबी कॉल अंतर्निहित भौतिक कनेक्शन को बंद नहीं करता है। हम उस अधिकार से सहमत हैं? अब, पूलर्स इस कनेक्शन से संबंधित बयानों/परिणामों की जांच कर सकते हैं और कनेक्शन पर बंद कॉल में बंद कर सकते हैं, है ना? मुझे उम्मीद है कि मैं आपको सही मिला। – Vikdor