मेरे पास हाइबरनेट का उपयोग करके भारी लोड जावा एप्लिकेशन है। और मैं कनेक्शन पूल डीबीसीपी के रूप में उपयोग करता था, लेकिन कनेक्शन हानि के साथ समस्याएं थीं। मैं c3p0 पर स्विच किया था। लेकिन अब यह कभी-कभी धागे को धुंधला करता है और मुझे नहीं पता कि क्यों। यहाँ की तरह:डेटाबेस कनेक्शन पूलिंग लाइब्रेरी के लिए सबसे अच्छा विकल्प क्या है? (c3p0 समस्या)
"[email protected]" prio=10 tid=0x00007fa6b0940000 nid=0x4e12 runnable [0x00007fa6f8f1c000]
java.lang.Thread.State: RUNNABLE
at com.mchange.v2.resourcepool.BasicResourcePool.doCheckinManaged(BasicResourcePool.java:1258)
at com.mchange.v2.resourcepool.BasicResourcePool.checkinResource(BasicResourcePool.java:647)
- locked <0x00007fa7286d9728> (a com.mchange.v2.resourcepool.BasicResourcePool)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$ConnectionEventListenerImpl.doCheckinResource(C3P0PooledConnectionPool.java:636)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$ConnectionEventListenerImpl.connectionClosed(C3P0PooledConnectionPool.java:630)
at com.mchange.v2.c3p0.util.ConnectionEventSupport.fireConnectionClosed(ConnectionEventSupport.java:55)
at com.mchange.v2.c3p0.impl.NewPooledConnection.fireConnectionClosed(NewPooledConnection.java:510)
at com.mchange.v2.c3p0.impl.NewPooledConnection.markClosedProxyConnection(NewPooledConnection.java:381)
at com.mchange.v2.c3p0.impl.NewProxyConnection.close(NewProxyConnection.java:1246)
- locked <0x00007fa794ccf020> (a com.mchange.v2.c3p0.impl.NewProxyConnection)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.closeConnection(LocalDataSourceConnectionProvider.java:96)
at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:474)
at org.hibernate.jdbc.ConnectionManager.cleanup(ConnectionManager.java:408)
at org.hibernate.jdbc.ConnectionManager.close(ConnectionManager.java:347)
at org.hibernate.impl.SessionImpl.close(SessionImpl.java:325)
at org.springframework.orm.hibernate3.SessionFactoryUtils.closeSession(SessionFactoryUtils.java:791)
at org.springframework.orm.hibernate3.SessionFactoryUtils.closeSessionOrRegisterDeferredClose(SessionFactoryUtils.java:777)
at org.springframework.orm.hibernate3.SessionFactoryUtils.releaseSession(SessionFactoryUtils.java:755)
' मेरे स्टैकट्रेस डंप पता चला है कि इस सूत्र, ताला < 0x00007fa7286d9728> साथ अवरुद्ध मेरे सारे अन्य थ्रेड, इसलिए में थोड़ी देर के सर्वर को पूरी तरह से ब्लॉक किया गया था। मुझे यकीन नहीं है कि यह धागा कितना समय चलता है, अगर एक धागा लंबे समय तक अन्य सभी धागे को अवरुद्ध कर रहा था, या अगर इस धागे से खपत का समय बहुत लंबा था, लेकिन नतीजा यह था कि मेरा सिस्टम पूरी तरह अवरुद्ध हो गया था और अत्यधिक धीमा हो गया था। मैंने बहुत गुस्सा किया, लेकिन मुझे नहीं पता कि इस समस्या को कैसे हल किया जाए। मुझे कनेक्शन बंद करने और जितनी जल्दी हो सके ट्रेड खत्म करने के लिए पूल की जरूरत है। क्या मुझे कुछ अन्य कनेक्शन पूल का उपयोग करना चाहिए? मेरे लिए यह पूरी तरह से जरूरी है कि यह पूल लाइब्रेरी 100% बचाएं, कोई डेडलॉक्स, लाइफलॉक्स, स्टारवेशन, यहां तक कि यह अन्य पुस्तकालयों की तुलना में थोड़ा धीमा है। किसी भी मदद
पुराने धागे को बंप करने के लिए खेद है, लेकिन कुछ समय पहले मैंने इस विषय पर कुछ छोटा सा शोध किया था: http://stackoverflow.com/questions/5640146/java-jdbc-connection-pool-library-choice-in- 2011 –