隨筆-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ù),見:http://www.aygfsteel.com/zhip/archive/2008/05/16/200769.html
          posted on 2009-09-28 23:19 liuyimx 閱讀(27140) 評(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ù)用戶名和密碼是否正確。如果用代碼測(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ù)的連接以及用戶密碼都沒(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è)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 酉阳| 上思县| 克什克腾旗| 赫章县| 双柏县| 南城县| 出国| 叙永县| 兴义市| 青龙| 固安县| 信阳市| 弥勒县| 黄大仙区| 宁城县| 宜阳县| 慈利县| 兴国县| 阳信县| 清远市| 崇仁县| 安义县| 晋州市| 龙胜| 桐梓县| 亳州市| 邯郸县| 永兴县| 九寨沟县| 贵港市| 浙江省| 泾源县| 浦县| 宁武县| 麻城市| 图木舒克市| 神农架林区| 会昌县| 新宁县| 邻水| 新乐市|