我使用hirbernate重载java应用程序.我曾经使用连接池DBCP,但它有连接丢失的问题.比我切换到c3p0.但现在它有时会破解线程,我不知道为什么.像这儿:
"1343694829@qtp-515693101-1941" 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)
Run Code Online (Sandbox Code Playgroud)
'我的堆栈跟踪转储显示此线程阻止了我的所有其他线程,锁定<0x00007fa7286d9728>,因此在一段时间内服务器被完全阻止.我不知道这个线程运行了多长时间,如果一个线程长时间阻塞所有其他线程,或者这个线程消耗的时间非常长,但结果是,我的系统被完全阻塞并且极其缓慢.我google了很多,但我不知道如何解决这个问题.我需要游泳池关闭连接并尽快完成胎面.我应该使用其他一些连接池吗?对我来说,绝对必要的是,这个池库是100%保存,没有死锁,生命周期,starvations,甚至它比其他库慢一点.
谢谢你的帮助
java database-connection connection-pooling c3p0 apache-commons-dbcp
我有java应用程序,它开始突然崩溃,无一例外。但有时 JVM 会创建崩溃日志文件,其名称类似于:“hs_err_pid10930.log”。任何人都可以阅读它并告诉我有什么问题吗?我无法找出我错了什么。我在这里找到的唯一合理的信息是交换大小为 0。我有问题吗?怎么会发生?
您可以在此处找到该文件:http : //chessfriends-release.s3.amazonaws.com/logs/hs_err_pid10930.log?AWSAccessKeyId=AKIAJP5BYGKOCMCDVZHA&Expires=1305128715&Signature=XEZMuJ0xNSM6YTcdhi3%kI0
谢谢。
伦敦银行同业拆借利率