隨筆-10  評(píng)論-23  文章-32  trackbacks-0

          這是我換了數(shù)據(jù)庫(kù)以后報(bào)的錯(cuò)誤:

          INFO 23:09:16,296 ConnectionProviderFactory:72 - Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
          WARN 23:09:36,375 ThreadPoolAsynchronousRunner:608 - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@13cb6cf -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
          WARN 23:09:36,390 ThreadPoolAsynchronousRunner:624 - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@13cb6cf -- APPARENT DEADLOCK!!! Complete Status:
          Managed Threads: 3
          Active Threads: 3
          Active Tasks:
          com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1b65d47 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
          com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1a61582 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
          com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@ce4625 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
          Pending Tasks:
          com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@5f5deb
          com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@10ef5a5
          Pool thread stack traces:
          Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
          java.net.PlainSocketImpl.socketConnect(Native Method)
          java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
          java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
          java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
          java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
          java.net.Socket.connect(Socket.java:519)
          java.net.Socket.connect(Socket.java:469)
          java.net.Socket.<init>(Socket.java:366)
          java.net.Socket.<init>(Socket.java:180)
          oracle.net.nt.TcpNTAdapter.connect(Unknown Source)
          oracle.net.nt.ConnOption.connect(Unknown Source)
          oracle.net.nt.ConnStrategy.execute(Unknown Source)
          oracle.net.resolver.AddrResolution.resolveAndExecute(Unknown Source)
          oracle.net.ns.NSProtocol.establishConnection(Unknown Source)
          oracle.net.ns.NSProtocol.connect(Unknown Source)
          oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:844)
          oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:268)
          oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
          oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
          oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
          oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
          com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
          com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
          com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
          com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
          com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
          com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
          com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
          com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
          Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main]
          java.net.PlainSocketImpl.socketConnect(Native Method)
          java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
          java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
          java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
          java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
          java.net.Socket.connect(Socket.java:519)
          java.net.Socket.connect(Socket.java:469)
          java.net.Socket.<init>(Socket.java:366)
          java.net.Socket.<init>(Socket.java:180)
          oracle.net.nt.TcpNTAdapter.connect(Unknown Source)
          oracle.net.nt.ConnOption.connect(Unknown Source)
          oracle.net.nt.ConnStrategy.execute(Unknown Source)
          oracle.net.resolver.AddrResolution.resolveAndExecute(Unknown Source)
          oracle.net.ns.NSProtocol.establishConnection(Unknown Source)
          oracle.net.ns.NSProtocol.connect(Unknown Source)
          oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:844)
          oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:268)
          oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
          oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
          oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
          oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
          com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
          com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
          com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
          com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
          com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
          com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
          com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
          com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
          Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
          java.net.PlainSocketImpl.socketConnect(Native Method)
          java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
          java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
          java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
          java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
          java.net.Socket.connect(Socket.java:519)
          java.net.Socket.connect(Socket.java:469)
          java.net.Socket.<init>(Socket.java:366)
          java.net.Socket.<init>(Socket.java:180)
          oracle.net.nt.TcpNTAdapter.connect(Unknown Source)
          oracle.net.nt.ConnOption.connect(Unknown Source)
          oracle.net.nt.ConnStrategy.execute(Unknown Source)
          oracle.net.resolver.AddrResolution.resolveAndExecute(Unknown Source)
          oracle.net.ns.NSProtocol.establishConnection(Unknown Source)
          oracle.net.ns.NSProtocol.connect(Unknown Source)
          oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:844)
          oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:268)
          oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
          oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
          oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
          oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
          com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
          com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
          com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
          com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
          com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
          com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
          com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
          com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
          原因:網(wǎng)上多是說(shuō)c3p0 bug引起的
          我的數(shù)據(jù)庫(kù)oracle 10.2.0.1,oracle14.jar也是10.2.0.1版本,我做了兩個(gè)修改這個(gè)錯(cuò)誤就沒(méi)有了,具體原因還不明,先解決了再說(shuō)。
          一.修改數(shù)據(jù)庫(kù)方言為oracle.jdbc.driver.OracleDriver(原來(lái)為oracle.jdbc.OracleDriver 在linux上也可以使用的)
          二.修改數(shù)據(jù)庫(kù)的最大連接數(shù),見(jiàn):http://www.aygfsteel.com/zhip/archive/2008/05/16/200769.html
          posted on 2009-09-28 23:19 liuyimx 閱讀(27129) 評(píng)論(6)  編輯  收藏

          評(píng)論:
          # re: c3po異常:Creating emergency threads for unassigned pending tasks! 2009-11-04 11:28 | zwh
          首先嘗試解決數(shù)據(jù)庫(kù)的鏈接問(wèn)題,既然出錯(cuò)信息報(bào)告unknown source,說(shuō)明數(shù)據(jù)庫(kù)沒(méi)有鏈接上,可檢查1鏈接串是否正確,2數(shù)據(jù)庫(kù)服務(wù)是否已經(jīng)啟動(dòng),  回復(fù)  更多評(píng)論
            
          # re: c3po異常:Creating emergency threads for unassigned pending tasks! 2009-11-04 11:42 | zwh
          @zwh
          還有3,檢查數(shù)據(jù)庫(kù)用戶(hù)名和密碼是否正確。如果用代碼測(cè)試數(shù)據(jù)庫(kù)可以鏈接上,那么這個(gè)問(wèn)題應(yīng)該不會(huì)再出現(xiàn)。  回復(fù)  更多評(píng)論
            
          # re: c3po異常:Creating emergency threads for unassigned pending tasks![未登錄](méi) 2012-10-29 16:16 | zp
          我們的服務(wù)器天天都報(bào)這個(gè)警告,跟你的信息基本一致。很奇怪,這究竟是什么原因引起的?能否解釋一下啊?數(shù)據(jù)庫(kù)的連接以及用戶(hù)密碼都沒(méi)問(wèn)題。目前數(shù)據(jù)庫(kù)支持的最大連接數(shù)是2000,c3po設(shè)置100。
          leo_soul@126.com
          如有什么消息,麻煩發(fā)個(gè)郵件通知一下。謝謝  回復(fù)  更多評(píng)論
            
          # re: c3po異常:Creating emergency threads for unassigned pending tasks![未登錄](méi) 2012-11-14 10:36 | zp
          我找到原因了,原來(lái)是做過(guò)系統(tǒng)集群,有多臺(tái)集群服務(wù)器,在同一時(shí)間觸發(fā)一個(gè)insert操作,導(dǎo)致沖突。  回復(fù)  更多評(píng)論
            
          # re: c3po異常:Creating emergency threads for unassigned pending tasks! 2013-05-03 17:37 | 嘎嘎嘎嘎
          @zwh
          嘎嘎嘎嘎  回復(fù)  更多評(píng)論
            
          # re: c3po異常:Creating emergency threads for unassigned pending tasks! 2013-05-20 15:02 | rebel
          @zp
          解決方法呢?  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 巴里| 临汾市| 福贡县| 七台河市| 海兴县| 泰安市| 扎囊县| 中卫市| 西安市| 邯郸县| 鄯善县| 建始县| 光泽县| 榆树市| 台东县| 江孜县| 义乌市| 晋州市| 西林县| 宝清县| 西安市| 滁州市| 华坪县| 扎鲁特旗| 大姚县| 山阴县| 越西县| 陵川县| 陈巴尔虎旗| 阿鲁科尔沁旗| 茶陵县| 保山市| 库尔勒市| 南康市| 广昌县| 密山市| 杭锦后旗| 龙海市| 武平县| 阳城县| 中西区|