`
星IT辰
  • 浏览: 12659 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql,ibatis c3p0连接池错误

 
阅读更多

配置c3p0连接池,启动错误。

spring中c3p0配置xml代码:

 项目启动时报以下错误信息:

Pool thread stack traces:
 Thread[C3P0PooledConnectionPoolManager[identityToken->1hge1648v7x7xsqhft1n|1e3a43]-HelperThread-#1,5,main]
  java.net.SocketInputStream.socketRead0(Native Method)
  java.net.SocketInputStream.read(SocketInputStream.java:129)
  com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
  com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
  com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
  com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2428)
  com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:590)
  com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1069)
  com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
  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:146)
  com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:195)
  com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)
  com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)
  com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)
  com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)
  com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:44)
  com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1810)
  com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:648)
 Thread[C3P0PooledConnectionPoolManager[identityToken->1hge1648v7x7xsqhft1n|1e3a43]-HelperThread-#0,5,main]
  java.net.SocketInputStream.socketRead0(Native Method)
  java.net.SocketInputStream.read(SocketInputStream.java:129)
  com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
  com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
  com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
  com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2428)
  com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:590)
  com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1069)
  com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
  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:146)
  com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:195)
  com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)
  com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)
  com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)
  com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)
  com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:44)
  com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1810)
  com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:648)
 Thread[C3P0PooledConnectionPoolManager[identityToken->1hge1648v7x7xsqhft1n|1e3a43]-HelperThread-#2,5,main]
  java.net.SocketInputStream.socketRead0(Native Method)
  java.net.SocketInputStream.read(SocketInputStream.java:129)
  com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
  com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
  com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
  com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2428)
  com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:590)
  com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1069)
  com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
  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:146)
  com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:195)
  com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)
  com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)
  com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)
  com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)
  com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:44)
  com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1810)
  com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:648)

解决办法:

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

xml代码:


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

  • 大小: 66.2 KB
  • 大小: 13.9 KB
分享到:
评论

相关推荐

    在iBatis中加入c3p0数据库连接池

    本篇文章将详细讲解如何在iBatis中集成c3p0数据库连接池,以及c3p0的基本配置和使用。 iBatis是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在配置文件中,方便灵活。而c3p0则是一个开源的JDBC连接池,它...

    osgi数据库连接demo

    在这个“osgi数据库连接demo”中,我们将探讨如何在OSGi环境中配置C3P0作为Oracle数据库连接池,并集成iBATIS作为数据访问层。 首先,C3P0是一个开源的JDBC连接池,它提供了一些额外的功能,如自动管理数据库连接、...

    Spring+ibatIS案例项目

    Spring+IbatIS项目,在案例项目中不只是对CURD的操作,主要是在配置文件中介绍了怎么配置链接迟,这个项目使用的是C3P0连接池,相应的还有.txt文件分析。部署到eclipse或者是myeclipse中修改jdbc.properties文件就...

    proxool 连接池实例

    与C3P0、DBCP、HikariCP等其他连接池相比,Proxool在小型项目或测试环境中表现出色,尤其适合那些对资源管理和性能调整有特定需求的场景。 **二、Proxool的工作原理** Proxool维护了一个连接池,当应用程序需要...

    ibatis-2.3.2.715.jar

    例如,它可以与C3P0、DBCP等连接池配合使用。 4. 参数映射与结果映射:Ibatis提供了强大的参数映射和结果映射机制,能够自动将Java对象与SQL语句中的参数和查询结果进行匹配。通过`&lt;parameterMap&gt;`和`&lt;resultMap&gt;`...

    扩展 iBatis 以透明支持多种数据库

    针对不同数据库,可能需要配置不同的连接池实现,如 HikariCP、C3P0 或者 DBCP。 5. **驱动程序管理**:在项目中,需要为每种数据库添加对应的 JDBC 驱动依赖,并在配置中指定正确的驱动类名。 6. **事务管理**:...

    ibatis MyEclipse 入门工程代码 图文教程

    1. 数据库连接池的配置:确保数据库连接池配置正确,如Druid、C3P0等。 2. 错误处理:当出现SQL错误或配置错误时,Ibatis会抛出异常,要善于利用日志工具分析错误信息。 3. 关闭SqlSession:操作完数据库后,记得...

    proxool源码

    **Proxool源码分析** Proxool是一个开源的、基于Java的数据库连接池,它在2003年由iBatis(现在...此外,通过对比其他知名的数据库连接池,如C3P0、HikariCP、Druid等,可以进一步拓宽对数据库连接池设计思路的认识。

    struts+spring+ibatis配置

    5. **数据库连接**:配置数据库连接池,如C3P0或DBCP,并在iBatis的配置文件中指定数据源。 6. **测试与调试**:编写JUnit测试用例验证各层功能,确保正常工作。 通过这样的配置,开发者可以利用SSI框架快速开发出...

    ibatis的例子

    1. **配置数据源**:在Spring的配置文件中,你需要定义一个数据源,这通常是一个连接池,如Apache的DBCP或C3P0。 ```xml &lt;property name="driverClassName" value="com.mysql.jdbc.Driver"/&gt; ...

    struts跟数据库的笔记,心得.rar

    1. 数据源配置:在Struts应用中,通常会通过Apache Commons DBCP或C3P0等连接池管理数据库连接。在`struts-config.xml`或`web.xml`中配置数据源,包括数据库URL、用户名、密码以及连接池参数等。 2. DAO(Data ...

    基于java的DataBuffer在Java中使用ADO.NET.zip

    为了解决这个问题,Java提供了数据库连接池,如Apache Commons DBCP、C3P0、HikariCP等。数据库连接池可以预先创建并维护一定数量的数据库连接,应用程序需要时可以从池中获取,用完后归还,这样可以大大提高效率。 ...

    JavaEE求职简历-姓名-JAVA开发工程师.docx

    15. **其他工具和技术**:如Maven多模块构建,SVN版本控制,MySQL数据库,C3P0连接池,Hibernate的Valida注解,Jquery前端校验,Redis集群缓存,Solr全文检索,ActiveMQ消息队列,SpringAOP行为记录,EasyUI后台界面...

    多文件上传

    【多文件上传】技术在现代Web应用中...例如,通过`&lt;context:property-placeholder&gt;`标签加载外部属性文件,`&lt;bean&gt;`标签定义数据源(`dataSource`),并使用`c3p0`连接池管理数据库连接。 ```xml &lt;!-- 数据源配置 --&gt; ...

    struts2 存储过程

    同时,数据库连接池如C3P0、DBCP或Apache Tomcat内置的连接池也应配置好。还需要在数据库中创建存储过程。 2. **创建存储过程**: 在MySQL、Oracle、SQL Server等数据库中编写存储过程。例如,一个简单的存储过程...

    常用jar包说明

    - **c3p0.jar**:C3P0是一个开放源代码的JDBC连接池,被许多框架如Hibernate用作数据源管理,优化数据库连接复用。 - **commons-pool.jar**, **commons-dbcp.jar**:Apache Commons下的连接池组件,主要用于管理...

    mybatis框架详解

    - **数据库连接管理**:MyBatis 支持与多种数据库连接池集成,如 C3P0 和 DBCP,以提高系统的性能和效率。 - **SQL 语句配置**:MyBatis 使用 XML 映射文件或注解来定义 SQL 语句,将 SQL 与 Java 代码分离,提高了...

    尚硅谷2017.4.11最新mybatis视频

    5. **提供数据库连接池**:内置了多种高效的数据库连接池实现,如DBCP、C3P0等。 6. **事务控制**:可以配置事务管理器来管理事务,也可以与Spring集成由Spring统一管理事务。 ### 安装与配置 1. **环境准备**: ...

    JAVA学习步骤DOC

    2. **JDBC技术**:理解数据库连接、SQL执行、结果集操作,以及连接池技术,如C3P0和DBCP。 3. **HTML & CSS & JavaScript**:学习网页开发基础,包括HTML布局、CSS样式和JavaScript脚本,以及JS常用模板和后台管理...

    【Maven配置四】配置Spring+整合MyBatis实现动态扫描开发

    &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"&gt; &lt;!-- 数据源属性配置... --&gt; &lt;!-- 配置SqlSessionFactoryBean --&gt; &lt;!-- 自动扫描Mapper接口 --&gt; ``` 在上述...

Global site tag (gtag.js) - Google Analytics