`
yonguo
  • 浏览: 244203 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

C3P0连接池错误

阅读更多

Ibatis中关于C3p0连接池的配置如下:

xml 代码
  1. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">  
  2.         <property name="driverClass" value="${jdbc.driverClassName}"/>  
  3.         <property name="jdbcUrl" value="${jdbc.url}"/>  
  4.         <property name="user" value="${jdbc.username}"/>  
  5.         <property name="password" value="${jdbc.password}"/>  
  6.            
  7.     <property name="minPoolSize" value="1"/>  
  8.         <property name="maxPoolSize" value="20"/>  
  9.         <property name="maxIdleTime" value="10"/>  
  10.         <property name="acquireIncrement" value="3"/>  
  11.         <property name="maxStatements" value="0"/>  
  12.         <property name="initialPoolSize" value="20"/>  
  13.         <property name="idleConnectionTestPeriod" value="10"/>  
  14. </bean>  

在执行的时候报如下错误信息:

WARN - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1eeb95
e -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending task
s!
WARN - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1eeb95
e -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@d43997
(com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@110f85
0 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@11e8d5
c (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@d2ad3c

Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5
,main]
java.lang.Thread.sleep(Native Method)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(Ba
sicResourcePool.java:1805)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run
(ThreadPoolAsynchronousRunner.java:547)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5
,main]
java.lang.Thread.sleep(Native Method)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(Ba
sicResourcePool.java:1805)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run
(ThreadPoolAsynchronousRunner.java:547)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5
,main]
java.lang.Thread.sleep(Native Method)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(Ba
sicResourcePool.java:1805)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run
(ThreadPoolAsynchronousRunner.java:547)

解决办法:

更改配置文件里的最大连接数和初始化连接数大小:

xml 代码
  1. <property name="maxPoolSize" value="1"/>  
  2. <property name="initialPoolSize" value="1"/>  

因为数据库的连接数是有限的,每次应用启动C3p0都会占用数据库的连接来填充C3p0的连接池,而当数据库的资源被占光时就会因为无法获得共享资源而报死锁。

分享到:
评论
2 楼 hehu158 2011-11-18  
我试着将我的配置改成楼主的,但是还是报这个警告啊,真不知道应该怎么办啊。
1 楼 axiang_2898 2007-12-05  
spring与之应用则也会出现死锁,是不是上面的问题还不清楚!

相关推荐

    c3p0-0.9.5.2(含配置文件)连接池.zip

    这是c3p0-0.9.5.2(含配文件)连接池技术的资源,里面含c3p0-0.9.5.2.jar包,这是c3p0数据库连接池的jar包,mchange-commons-java-0.2.11.jar是数据库连接池的依赖包,导入时,要一同导入,否则会产生错误。...

    c3p0完整包内置xml

    c3p0是款强大的数据库连接池 其完整包要到官网下载 第一次使用学习的同学一定很是头大!因为不知道怎么写xml环境配置文件 所以本人稍微做了整理 里面有样板的xml配置文件 注意:1 配置文件名不能乱改(否则c3p0会找不到...

    jdbc整合c3p0

    JDBC整合c3p0数据库连接池 解决Too many connections错误 连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。博客地址 ...

    网上电子商城

    (1)项目使用javaee经典三层架构+工厂类实现解耦。 ... (3)使用Mysql数据库,c3p0连接池连接数据库、解决了线程安全问题和事务控制。 (4)全站实现权限过滤器和编码过滤器、统一错误页面提示。

    druid-1.0.11.jar

    Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。 Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模...

    基于JFinal的开源博客系统JFinal_Blog1.1版本

    1、将数据库连接池由C3P0升级为Druid实现; 2、废弃WEB-INF下的数据库连接配置,改用conf下的config.properties来实现配置; 3、将上一个版本留下的SQL模糊Like搜索功能修改为Lucene实现; 4、添加EhCache支持,对...

    SpringBoot集成Druid+MariaDB+Lombok+Mybatis-Plus详解

    Druid:是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况 MariaDB:是最流行的开源关系型数据库之一。它由 MySQL...

    xmljava系统源码-servlet-jsp_news:基于原生servlet、jsp、jdbc实现的新闻系统,采用wangEditor富文

    c3p0连接池 集成开发环境:Idea 2019 web容器:Tomcat 9 需求分析 普通用户: 用户注册:用户进入注册页面,输入相关信息并点击注册,系统将账号信息存入数据库。 用户登录:用户输入用户名和密码,若账号存在则登录...

    手机解锁秘诀-再也不用上营业厅了

    0 u7 [# E9 P# i: i2 y *#0377# EEPROM错误显示 % p" P$ S* O9 O5 j5 j% A *#0427# WATCHDOG信号路径设置 . [' D: f) g' R; x, }* q *#0523# 调节对比度,谨慎修改; ) o- ~* L2 O6 B+ ]) S$ y# i *#0636# ...

    java开源包4

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包1

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包11

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包2

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包3

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包6

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包5

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包10

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包8

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包7

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包9

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

Global site tag (gtag.js) - Google Analytics