• C3P0连接池问题,APPARENT DEADLOCK!!! Creating emergency..... [问题点数:20分,结帖人lovekong]


    采用c3p0连接池,每次调试程序,第一次访问时(Tomcat服务器重启后再访问)都会出现以下错误,然后连接库需要很长时间,最终是可以连上的,之后再访问就没问题了,请高手们会诊一下,希望能帮小弟解决此问题,不胜感激!


    2009-9-27 13:32:26 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
    警告: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c5d81c -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
    2009-9-27 13:32:26 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector run
    警告: com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c5d81c -- APPARENT DEADLOCK!!! Complete Status: 
    Managed Threads: 3
    Active Threads: 3
    Active Tasks: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@b7ad3 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
    com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1acdcb9 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
    com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1cf2ef6 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
    Pending Tasks: 
    com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@114382d
    com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@744a4d
    com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@ba2b6b
    Pool thread stack traces:
    Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
    com.mysql.jdbc.MysqlIO.scanForAndThrowDataTruncation(MysqlIO.java:3685)
    com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2227)
    com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
    com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
    com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)
    com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3777)
    com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3348)
    com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2045)
    com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
    com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
    com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
    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-#1,5,main]
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:169)
    com.mysql.jdbc.SQLError.<clinit>(SQLError.java:154)
    com.mysql.jdbc.MysqlIO.scanForAndThrowDataTruncation(MysqlIO.java:3685)
    com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2227)
    com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
    com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
    com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)
    com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3777)
    com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3348)
    com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2045)
    com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
    com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
    com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
    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]
    com.mysql.jdbc.MysqlIO.scanForAndThrowDataTruncation(MysqlIO.java:3685)
    com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2227)
    com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
    com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
    com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)
    com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3777)
    com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3348)
    com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2045)
    com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
    com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
    com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
    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)

    http://www.javaeye.com/topic/22160?page=3#142629
    我也遇到这个问题
    看下这个应该是c3p0的bug

    <property name="hibernate.c3p0.max_statements">0</property>

  • 相关阅读:
    jdbc-------JDBCUtil类 工具类
    jdbc --- javabean
    MapReduce 找出共同好友
    mapReducer 去重副的单词
    用户定义的java计数器
    mapReducer第一个例子WordCount
    win10 Java环境变量,hadoop 环境变量
    Writable序列化
    io 流操作hdfs
    [常用命令]OSX命令
  • 原文地址:https://www.cnblogs.com/telwanggs/p/5627469.html
Copyright © 2020-2023  润新知