c3p0的版本是c3p0-0.9.2.1
sqlserver版本2008
spring3.2通过com.mchange.v2.c3p0.ComboPooledDataSource配置的数据源
项目启动时没什么问题,并发量小的时候也没什么问题,但是并发量大的时候,或者是运行时间久的时候,就获取不到数据库连接了,请大家帮忙看下,非常感谢
异常信息及c3p0配置如下:
###数据源配置-c3p0
c3p0.driverClass=net.sourceforge.jtds.jdbc.Driver
c3p0.jdbcUrl=jdbc:jtds:sqlserver://localhost:1433/dzhl2
c3p0.user=sa
c3p0.password=test!
#<!-- 连接池初始化时创建的连接数 -->
c3p0.initialPoolSize=5
#<!-- 连接池保持的最小连接数,后面的maxIdleTimeExcessConnections跟这个配合使用来减轻连接池的负载 -->
c3p0.minPoolSize=5
#<!-- 连接池中拥有的最大连接数,如果获得新连接时会使连接总数超过这个值则不会再获取新连接,而是等待其他连接释放 -->
c3p0.maxPoolSize=100
#<!-- 连接池在无空闲连接可用时一次性创建的新数据库连接数 -->
c3p0.acquireIncrement=3
#<!-- 连接的最大空闲时间,单位秒,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接 如果为0,则永远不会断开连接 -->
c3p0.maxIdleTime=120
#<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
c3p0.idleConnectionTestPeriod=1200
#获取connnection时测试是否有效
c3p0.testConnectionOnCheckin=true
#自动测试的table名称
c3p0.automaticTestTable=C3P0TestTable
#if you can take the performance 'hit', set to "true"
c3p0.testConnectionOnCheckout = true
#<!-- 连接池在获得新连接失败时重试的次数,如果小于等于0则无限重试直至连接获得成功 -->
c3p0.acquireRetryAttempts=30
#<!-- 如果为true,则当连接获取失败时自动关闭数据源,除非重新启动应用程序。所以一般不用 -->
c3p0.breakAfterAcquireFailure=false
# <!--连接关闭时默认将所有未提交的操作回滚。默认: false -->
c3p0.autoCommitOnClose=true
信息: Closing Spring root WebApplicationContext
java.sql.SQLException: An SQLException was provoked by the following failure: java.lang.InterruptedException
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:62)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:531)
at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
at sunxp.db.ConnectionPool.getConnection(ConnectionPool.java:28)
at sunxp.db.ConnectionPool.getConnection(ConnectionPool.java:18)
at sunxp.db.SelectHandler.<init>(SelectHandler.java:39)
at org.apache.jsp.login_005fnew_jsp._jspService(login_005fnew_jsp.java:130)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:574)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1527)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1315)
at com.mchange.v2.resourcepool.BasicResourcePool.prelimCheckoutResource(BasicResourcePool.java:557)
at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:477)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:525)
... 24 more
相关推荐
综上所述,c3p0连接池与SQLServer驱动结合使用,可以为Java应用提供高效、可靠的数据库连接管理,同时通过灵活的配置可以适应各种应用场景的需求。正确理解和配置c3p0的各项参数,对于提升系统的整体性能和稳定性至...
### Hibernate + c3p0 连接池与 SQL Server 2000 的配置与问题解决 #### 一、背景介绍 在Java开发环境中,Hibernate作为一款流行的ORM框架,能够提供一套强大的对象-关系映射机制,使得开发者可以更加便捷地进行...
在Java开发中,数据库连接管理是一项关键任务,而c3p0是一个开源的JDBC连接池,它提供了数据源和JNDI绑定的数据源实现,能够有效地管理和复用数据库连接,提高应用程序的性能。c3p0 jar包是用于集成到Java项目中,以...
C3P0连接池是Java应用中常用的数据库连接池组件,它允许程序在不关闭物理连接的情况下,管理和重用数据库连接,从而提高了应用程序的性能和效率。C3P0库依赖于其他几个JAR包来实现其功能,包括`c3p0-0.9.2.1.jar`、`...
注意,C3P0还有一些重要的配置属性,如`maxIdleTime`(最大空闲时间)、`testConnectionOnCheckout`(检查连接时是否测试)和`maxStatements`(最大预编译SQL语句数)。根据实际需求调整这些参数,可以进一步优化...
C3P0连接池是Java开发中常用的数据库连接池组件,它能够有效地管理和优化数据库连接,提高应用程序的性能和效率。C3P0由Mithun Das Laskar创建,是一个开源项目,广泛应用于各种Java Web应用中。下面将详细介绍C3P0...
Java C3P0连接池是Java数据库连接(JDBC)的一种流行实现,它提供了一种高效、自动管理数据库连接的方式,以优化应用程序的性能和资源利用率。C3P0库是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3...
在实际开发中,为了更好地管理数据库连接,可以使用连接池如C3P0、HikariCP等。 总的来说,Java连接SQL Server 2000主要涉及JDBC驱动的引入、数据库连接的建立与管理、SQL语句的执行以及结果的处理。理解并熟练掌握...
C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...
- 考虑使用连接池管理器,如C3P0或HikariCP,以提高性能和资源利用率。 - 避免在代码中硬编码数据库连接信息,可以使用环境变量或配置文件来存储敏感信息。 - 定期更新JDBC驱动,以获取最新的安全修复和功能改进...
C3P0连接池管理类是数据库连接管理的一种机制,用于高效管理和复用数据库连接,以提高系统的性能和资源利用率。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用...
C3P0数据库连接池和jar包,因为jdbc没有保持连接的能力,一旦超过一定时间没有使用(大约几百毫秒),连接就会被自动释放掉。而每次新建连接都需要140毫秒左右的时间,所以耗费时间比较多。若使用C3P0连接池来池化...
此外,连接池(如C3P0、HikariCP)是大型应用的推荐选择,可以更有效地管理数据库连接。 一旦连接建立,你可以执行SQL查询、更新数据、处理结果集等操作。例如,使用`Statement`或`PreparedStatement`对象来执行SQL...
- **配置参数**:c3p0提供了一系列的配置参数,如初始化连接数、最大连接数、测试连接的SQL语句等,以适应不同场景的需求。 2. **c3p0主要功能** - **连接获取与释放**:c3p0会自动管理数据库连接的生命周期,...
C3P0数据库连接池是Java开发中广泛使用的开源组件,用于管理数据库连接,提高数据库访问效率并降低系统资源消耗。源代码分析可以帮助我们深入理解其内部机制,从而更好地优化和配置C3P0,提升应用程序性能。 1. **...
**C3P0连接池配置详解** C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的主要特点是轻量级、高效且稳定,广泛应用于各种Java Web应用中。在本文中,我们将深入探讨...
Mchange Commons库提供了与数据库交互的基本功能,如SQL执行、结果集处理等,为C3P0连接池的运行提供了必要的支持。 2. **c3p0-0.9.5.5.jar**: 这是C3P0连接池的核心库,实现了数据库连接的管理和复用。C3P0由...
- **数据源(DataSource)**:C3P0通过实现 javax.sql.DataSource 接口来提供数据源服务,应用程序可以通过这个接口获取数据库连接。 - **连接池配置**:C3P0的配置可以通过编程方式或在应用的配置文件中进行。常见...