隨筆-10  評論-23  文章-32  trackbacks-0

          這是我換了數據庫以后報的錯誤:

          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)
          原因:網上多是說c3p0 bug引起的
          我的數據庫oracle 10.2.0.1,oracle14.jar也是10.2.0.1版本,我做了兩個修改這個錯誤就沒有了,具體原因還不明,先解決了再說。
          一.修改數據庫方言為oracle.jdbc.driver.OracleDriver(原來為oracle.jdbc.OracleDriver 在linux上也可以使用的)
          二.修改數據庫的最大連接數,見:http://www.aygfsteel.com/zhip/archive/2008/05/16/200769.html
          posted on 2009-09-28 23:19 liuyimx 閱讀(27128) 評論(6)  編輯  收藏

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

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阳东县| 华安县| 文昌市| 新田县| 玉树县| 卫辉市| 湘潭县| 顺昌县| 兴国县| 吉安市| 绥滨县| 东明县| 遂宁市| 柳江县| 衡南县| 万荣县| 仁怀市| 垦利县| 肥乡县| 宾川县| 兴宁市| 高台县| 永川市| 调兵山市| 同心县| 凭祥市| 申扎县| 莱西市| 武鸣县| 航空| 海林市| 高安市| 汉寿县| 武宣县| 合江县| 深圳市| 韶山市| 伊川县| 涿州市| 平泉县| 三亚市|