2012-08-03 19 views
6

का उपयोग कर कनेक्शन की डीबगिंग हानि मैं एक परियोजना के लिए कनेक्शन टाइमआउट मुद्दों को ठीक करने पर काम कर रहा हूं जिस पर मैं काम कर रहा हूं। हम कनेक्शन पूल का प्रबंधन करने के लिए c3p0 का उपयोग करते हैं और ओआरएम उपकरण के रूप में हाइबरनेट करते हैं। हम वसंत का भी उपयोग करते हैं।'debugUnreturnedConnectionStackTraces'

यह पता लगाने के लिए कि क्या कोई अपरिवर्तित कनेक्शन है, मैंने अपने c3p0 कॉन्फ़िगरेशन (c3p0 गुणों में नहीं) में डीबग यूरेनेटेडकनेक्शनस्टैकट्रैस को सही करने के लिए सेट किया है।

क्या मुझे कुछ और करने की ज़रूरत है। क्या मुझे अपने lod4j.properties में कुछ भी जोड़ना है या क्या यह डीबग यूरेनेटेडकनेक्शनस्टैकट्रैस को सही करने के लिए पर्याप्त है?

साथ ही, क्या मुझे c3p0 गुणों में डीबगअनुर्टेड कॉन्नेक्शनस्टैकट्रैक को सत्य में सेट करना चाहिए?

मदद

उत्तर

3

व्यक्तिगत तौर पर मैं सामान्य रूप से मेरी hibernate.cfg.xml के लिए निम्न 2 लाइनों के दोनों जोड़ने के लिए धन्यवाद

<property name="hibernate.c3p0.unreturnedConnectionTimeout">60</property> 
<property name="hibernate.c3p0.debugUnreturnedConnectionStackTraces">true</property> 

मेरा मानना ​​है कि समय समाप्ति पर डिफ़ॉल्ट मान 0 है और मैं कर रहा हूँ सुनिश्चित नहीं है कि यह कैसे काम किया जाता है।

+0

धन्यवाद स्कॉट। लेकिन, क्या यह पर्याप्त है यदि हम 'debugUnreturnedConnectionStackTraces' को सत्य पर सेट करते हैं या क्या मुझे अपने log4j.properties में भी कोई भी बदलाव करना चाहिए। और जहां 'debugUnreturnedConnectionStackTraces' स्टैक निशान लॉग करेगा। क्या यह एप्लिकेशन सर्वर के लॉग में लॉग इन होगा? – Npa

+0

मैं log4j का उपयोग नहीं करता लेकिन मुझे उम्मीद है कि आपको लॉग स्तर को डीबग करने की आवश्यकता होगी। और हाँ, यह एप्लिकेशन सर्वर लॉग में समाप्त होना चाहिए। –

10

कोरी के जवाब पर थोड़ा विस्तार करना:

तो unreturnedConnectionTimeout सकारात्मक है और debugUnreturnedConnectionStackTraces सच है, तो स्टैक ट्रेस कि नहीं लौटाए गए अपवाद लकड़हारा "com.mchange.v2 द्वारा जानकारी स्तर पर लॉग इन किया जाएगा उत्पन्न होने वाली है। resourcepool.BasicResourcePool "।

अक्सर लोग सभी लॉगर्स से INFO स्तर से ऊपर कुछ भी लॉग करते हैं, इसलिए ये स्टैक निशान आपके लॉग में दिखाई देते हैं। लेकिन अगर आप उन्हें नहीं देखते हैं, तो यह सुनिश्चित करने के लिए कि लॉगिंग से INFO पर संदेश फ़िल्टर नहीं किए गए हैं, अपनी लॉगिंग कॉन्फ़िगरेशन जांचें।

ध्यान दें कि debugUnreturnedConnectionStackTraces कुछ भी नहीं करेगा अगर unreturnedConnectionTimeout भी सेट नहीं है।

देखें

http://www.mchange.com/projects/c3p0/#unreturnedConnectionTimeout

http://www.mchange.com/projects/c3p0/#debugUnreturnedConnectionStackTraces

मुझे आशा है कि इस मदद करता है!

पेज। इससे कोई फ़र्क नहीं पड़ता कि आप इन गुणों को कैसे सेट करते हैं, जब तक वे ठीक से सेट होते हैं। पूल शुरूआत पर INFO पर c3p0 डंप पूल कॉन्फ़िगरेशन; यह सुनिश्चित करने के लिए अपने लॉग जांचें कि, हालांकि आप पैरामीटर सेट करने का प्रयास कर रहे हैं, तो आपके पास कॉन्फ़िगरेशन की अपेक्षा है। वैकल्पिक रूप से आप पैरामीटर का निरीक्षण करने के लिए जेएमएक्स का उपयोग कर सकते हैं।