सबसे अधिक संभावना है कि आप या तो
- सॉकेट खोलना और उन्हें बंद नहीं करना। समय के साथ खुले सॉकेट की संख्या बहुत बड़ी हो जाती है और एप्लिकेशन क्रैश हो जाता है।
- आप एक ही समय में बहुत सारे सॉकेट खोल रहे हैं। शायद इसलिए कि आपके पास ढेर सारे धागे हैं।
मुझे लगता है कि यह # 1 है। अपने कोड की दोबारा जांच करें और सुनिश्चित करें कि आप अपने सभी कनेक्शन ऑब्जेक्ट और रिजल्टसेट ऑब्जेक्ट को बंद कर दें।
यदि आप #2 में चल रहे हैं तो आप कम थ्रेड्स का उपयोग करने पर विचार कर सकते हैं (एक निश्चित बिंदु के बाद बहुत अधिक थ्रेड होने से अच्छे से अधिक नुकसान होता है) या कनेक्शन पूल का उपयोग करना जैसे c3p0 जो केवल कनेक्शन की एक निर्धारित संख्या बनाएगा और आपके थ्रेड्स को उन्हें साझा करने की अनुमति देगा। c3p0 का उपयोग करना सामान्य रूप से एक अच्छा विचार है और इससे आपको #1 का तेजी से पता लगाने में भी मदद मिलेगी।
एक तीसरा विकल्प जेपीए या जेडीओ जैसे उच्च स्तरीय अमूर्तता का उपयोग करना है जो आपके लिए कनेक्शन प्रबंधन का ख्याल रखेगा।