जब हमने कनेक्शन पूलिंग के लिए जेपीए और सी3पी0 का उपयोग करते हुए हाइबरनेट को 4.3.x में अपग्रेड किया तो हमें वही "कम्युनिकेशंस लिंक" समस्या होने लगी।
ऐसा लगता है कि यह एक कनेक्शन पूल समस्या होगी क्योंकि कनेक्शन को डेटाबेस से अधिक समय तक रखा जा रहा था wait_timeout
(जो कि डिफ़ॉल्ट 8 घंटे था) मेरी C3P0 सेटिंग्स के बावजूद। हालांकि, मैंने हमारे persistence.xml
में हाइबरनेट कॉन्फ़िगरेशन को बदलकर समस्या का समाधान किया साथ:
<property name="hibernate.connection.release_mode" value="after_transaction" />
ऐसा लगता है कि हाइबरनेट में डिफ़ॉल्ट व्यवहार लेनदेन के बाद कनेक्शन जारी नहीं करने के लिए बदल गया है, इसलिए यदि आप पूलिंग का उपयोग कर रहे हैं तो आपको इस मोड को स्पष्ट रूप से सेट करना होगा।