`
yonguo
  • 浏览: 245914 次
  • 性别: 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连接池jar包

    C3P0连接池是一个基于Java的开源数据库连接池组件,它在JDBC连接管理上提供了高效、稳定和强大的功能。作为一个连接池,C3P0的主要任务是管理和复用数据库连接,从而避免频繁创建和关闭连接导致的性能损耗。在Java...

    C3P0连接池jar包.rar

    C3P0连接池是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接的创建和销毁是耗时操作,而连接池则可以有效地管理这些连接,避免频繁地创建和...

    c3p0连接池所需要用到的2个jar包

    C3P0连接池是Java开发中常用的数据库连接池组件,它可以帮助开发者高效管理数据库连接,提高系统的性能和稳定性。本压缩包包含了两个关键的JAR文件:mchange-commons-java-0.2.19.jar和c3p0-0.9.5.5.jar,它们是C3P0...

    C3P0连接池jar包.zip

    C3P0连接池是一个广泛使用的开源数据库连接池组件,主要功能是管理和优化数据库连接,以提高应用程序的性能和效率。在Java应用中,尤其是在Web应用程序中,C3P0可以提供多线程环境下的数据库连接共享,避免了频繁...

    C3P0连接池配置.doc

    C3P0是一个开源的JDBC连接池,它与Hibernate一起发布,并提供了实现了JDBC3和JDBC2扩展规范的Connection和Statement池的DataSources对象。C3P0连接池的配置涉及到多个方面,用于优化数据库连接的创建、管理和维护。 ...

    C3P0连接池jar包(完整版).zip

    使用C3P0连接池时,你需要在项目中引入对应的jar包,这里提供的"C3P0连接池jar包(完整版)"应该包含了C3P0的主要依赖,包括c3p0.jar和mchange-commons-java.jar等。配置C3P0通常涉及到以下几个步骤: 1. 引入依赖...

    C3p0连接池问题

    C3p0连接池是Java应用中常用的数据库连接池组件,它通过管理数据库连接,提高应用程序的性能和效率。在处理大量并发请求时,数据库连接池可以有效地避免频繁地创建和销毁数据库连接,从而降低系统资源消耗。这篇博客...

    c3p0数据库连接池

    **c3p0数据库连接池详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的主要功能是管理数据库连接,通过复用已存在的连接来提高数据库访问效率,减少系统资源...

    C3P0连接池jar包,mysql-connector-java-5.1.37,druid连接池jar包,commons-dbu

    本文将详细介绍三个重要的组件:C3P0连接池、MySQL的JDBC驱动(mysql-connector-java-5.1.37)以及Druid连接池,以及它们在Java中的应用和作用。 首先,C3P0是一个开源的JDBC连接池,全称为ComMchange V2 C3P0。它...

    Hibernate+c3p0连接池SQLServer 2000

    本文将重点探讨Hibernate与c30p连接池在SQL Server 2000中的配置方法及如何解决可能出现的连接错误问题。 #### 二、问题描述 在配置Hibernate与c3p0连接池时,可能会遇到诸如`ConnectionReset! Broken pipe!`等...

    ibatis-2.3.0.677增加对c3p0连接池的支持

    标题 "ibatis-2.3.0.677增加对c3p0连接池的支持" 描述了MyBatis框架的一个更新,其中包含了对c3p0数据库连接池的集成。MyBatis是一个轻量级的Java持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,提供了比...

    c3p0连接池.zip

    C3P0连接池是一个开源的Java数据源和JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0库被设计用来提高数据库连接的效率和性能,通过管理数据库连接的生命周期,避免了频繁创建和关闭...

    C3P0连接池参数配置.doc

    C3P0 连接池是 Java 应用中广泛使用的数据库连接管理工具,它能够有效地管理和维护数据库连接,提高应用程序的性能和稳定性。在 C3P0 配置中,有多个关键参数用于定制连接池的行为。以下是对这些参数的详细解释: 1...

    c3p0链接池所需要的所以jar包

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,尤其是在大型的Web应用中,数据库连接的创建和销毁是相当耗时的操作,因此使用连接池可以显著提高...

    C3P0数据库连接池

    **C3P0数据库连接池** 是一个开源的Java数据库连接池组件,它为应用程序提供了一种管理和控制数据库连接的方法,以实现高效、稳定的数据库访问。C3P0的主要目标是提高应用程序的性能,减少数据库资源的消耗,通过在...

    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-0.9.2.1连接池jar包

    **c3p0-0.9.2.1连接池jar包详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0-0.9.2.1是其在2012年发布的一个版本,包含了对数据库连接管理的关键功能,如连接...

    用c3p0连接池连接数据库登录页面跳转不了

    在这个问题中,开发者遇到了"用c3p0连接池连接数据库登录页面跳转不了"的状况,这通常涉及到几个可能的原因,包括但不限于配置错误、资源管理问题或者代码逻辑问题。下面我们将详细探讨这些方面。 首先,我们需要...

    c3p0连接池、jquery-easyui-1.2.6分页、 webwind框架

    在IT行业中,数据库连接池是优化数据库访问性能的重要技术之一,C3P0就是其中一款常用的开源连接池组件。C3P0是一个JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。它的主要功能包括: 1....

Global site tag (gtag.js) - Google Analytics