Hirbernate kullanarak ağır yüklü java uygulamasına sahibim. Ve ben bağlantı havuzu DBCP olarak kullandım, ancak bağlantı kaybı ile ilgili sorunlar vardı. Ben daha c3p0'a geçtim. Ama şimdi bazen iş parçacığını karıştırıyor ve nedenini bilmiyorum. Burada gibi:Veritabanı bağlantısı havuzu kitaplığı için en iyi seçim nedir? (c3p0 problemi)
"[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)
' My StackTrace dökümü bir süre sunucusu tamamen engellendi yüzden Konuyu, kilidin < 0x00007fa7286d9728> ile, bütün diğer konuları bloke ettiğini gösterdi. Bu iplik ne kadar sürüyor, eğer bir iplik uzun süre boyunca diğer tüm dişleri engelliyorsa, ya da bu iplik tarafından tüketilen süre çok uzunsa, ancak sonuçta, sistemimin tamamen bloke oldu ve aşırı yavaşlatıldı. Çok çalıştım ama bu sorunu nasıl çözeceğimi bilmiyorum. Bağlantıyı kapatmak ve mümkün olan en kısa sürede sırtını bitirmek için havuza ihtiyacım var. Başka bir bağlantı havuzunu kullanmalı mıyım? Benim için bu havuz kütüphanesinin% 100 tasarruf, kilitlenme, can kaybı, açlık, hatta diğer kütüphanelerden biraz daha yavaş olmasının mutlak bir gerekliliği var. Ne demek herhangi bir yardım
Eski bir iş parçacığı için kusura bakmayın ama bir süre önce konuyla ilgili çok az araştırma yaptım: http://stackoverflow.com/questions/5640146/java-jdbc-connection-pool-library-choice-in- 2011 –