0 0

spring使用c3p0连接数据库出错!15

    各位高人,在Spring框架中直接使用c3p0作为连接池,使用JdbacTmeplate访问数据库,数据记录比较少时没问题,当数据记录接近1000条时,访问时会报错,错误提示如下,请问是什么原因?多谢!

18:04:27,703 WARN  Error while extracting database product name - falling back to empty error codes - [http-8088-Processor25]org.springframework.
jdbc.support.SQLErrorCodesFactory
org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta data; nested exception is org.springframew
ork.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: com.mchange.v2.c3p0.ComboPoo
ledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAwaitingCheckoutDefaultUser] ] has been
closed() -- you can no longer use it.
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:197)
at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:224)
at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:215)
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:133)
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>(SQLErrorCodeSQLExceptionTranslator.java:98)
at org.springframework.jdbc.support.JdbcAccessor.getExceptionTranslator(JdbcAccessor.java:99)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:554)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:588)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:617)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:625)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:657)
at org.springframework.jdbc.core.JdbcTemplate.queryForList(JdbcTemplate.java:723)
DAO 
2009年12月07日 09:40

4个答案 按时间排序 按投票排序

0 0

恩 楼上说的,查看下缓存。还有连接上了,是否有时间的控制,而且用户的占用连接的时间也需要弄下。

2009年12月07日 17:06
0 0

可能是缓存的问题 当您查询数据的时候 缓存中会有记录 当他超过一千条记录的时候 你的jvm就会溢出出现情况 建议您看看缓存的机制

2009年12月07日 15:45
0 0

数据库的连接配置检查一下有没有错,好像是不能连接数据。

2009年12月07日 13:03
0 0

两种可能,
一个是数据库服务器   限制连接个数
一个c3p0数据库连接池 限制连接个数

我感觉是第一个,lz可以测试下,调节c3p0和数据库的连接数测试下

2009年12月07日 12:28

相关推荐

    c3p0连接池jar包以及Spring对c3p0的依赖包

    使用连接池,如C3P0,可以有效地复用已存在的数据库连接,降低系统资源消耗,提高系统的响应速度。 C3P0的主要特点包括: 1. **连接测试**:C3P0提供了多种连接测试方式,如ping、isValid()等,确保获取到的数据库...

    数据库连接池以及在代码中的应用

    1. **选择连接池实现**:有很多成熟的数据库连接池实现,如Apache的DBCP、C3P0,以及HikariCP等。HikariCP以其高性能和低延迟而受到广泛应用。 2. **配置连接池参数**:包括初始连接数、最大连接数、最小连接数、...

    Java直接通过连接数据库生成对应的Resful格式的API

    1. 数据库连接池:为了提高数据库连接的复用性和管理,通常会使用像HikariCP、C3P0或Apache DBCP这样的连接池库。 2. ORM(Object-Relational Mapping)框架:如Hibernate或MyBatis,它们可以将数据库中的表映射为...

    eclipse4.5.0的STS插件_spring用到的jar包_sts_已分类_

    标题中的“eclipse4.5.0的STS插件”指的是Spring Tool Suite (STS) 的...通过这些jar包,开发者可以轻松构建基于Spring的系统,包括使用AOP、数据库连接池c3p0以及日志记录工具log4j,同时还能够方便地进行数据库交互。

    Spring2.5学习文档3.pdf

    为了管理数据库连接,使用了c3p0连接池。首先将c3p0的jar包添加到项目类路径中。接着,在Spring配置文件中,我们通过`&lt;context:property-placeholder&gt;`标签引入外部的`jdbc.properties`文件,用于存储数据库连接信息...

    java访问数据库集合

    在Java中,如Apache的DBCP、C3P0和HikariCP都是常见的连接池实现。使用连接池能显著减少数据库连接创建和销毁的时间,改善系统性能。 Spring框架提供了全面的数据库访问支持,包括JDBC抽象层和ORM(Object-...

    Spring+JDBC组合开发

    数据库连接池如HikariCP、C3P0、Apache DBCP等,可以有效地管理数据库连接,提高系统性能。 6. 数据库连接池配置:Spring通过DataSource接口与各种连接池实现交互。我们可以在配置文件中指定数据源类型,并提供相应...

    spring hibernate mysql 事务实例

    1. 数据库连接池:使用连接池如HikariCP或C3P0,可以有效地管理数据库连接,提高系统性能。 2. 回滚规则:默认情况下,Spring会在遇到未检查异常(继承自`RuntimeException`的异常)时回滚事务,对于受检异常(非`...

    Spring JDBC 增删改查

    数据源可以是Apache Commons DBCP、C3P0等连接池,而JdbcTemplate则依赖于数据源。一个简单的配置示例如下: ```xml &lt;bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"&gt; ...

    SpringJDBC

    Spring可以通过`BasicDataSource`或`AbstractDataSource`等类管理数据库连接池,如Apache的DBCP或C3P0,这有助于提高系统的并发性能和资源利用率。配置数据源时,可以设置连接的最大最小数量、超时时间等参数,确保...

    Spring 数据源的灵活配置巧应用

    - **`C3P0DataSource`**:C3P0连接池的一个包装器,适用于需要高级连接池管理的情况。 - **`HikariDataSource`**:一个高性能的JDBC连接池,被广泛认为是在性能方面表现最佳的选项之一。 #### 七、总结 通过上述...

    categorySystem-Spring-Mybatis

    数据源是连接数据库的关键,可以使用Apache的DBCP或C3P0等连接池,也可以直接使用Spring的AbstractDataSource。配置中需提供数据库URL、用户名、密码等信息。 1.3 SqlSessionFactoryBean配置 SqlSessionFactoryBean...

    基于Java的数据库应用框架的研究设计.zip

    例如,使用连接池(如C3P0、HikariCP)来管理数据库连接,可以有效地复用连接,减少数据库的开销。此外,缓存策略(如 EhCache 或 Redis)可以提高数据访问速度,减少对数据库的直接访问。 在分布式系统中,数据库...

    30_数据库_第3天(DBUtils)_讲义

    1. **数据库连接池**:DBUtils支持多种数据库连接池,如C3P0、Druid、HikariCP等。连接池可以有效地管理和复用数据库连接,避免了频繁创建和关闭连接导致的性能损失和资源浪费。在使用DBUtils时,我们需要配置相应的...

    mybatistest.7z

    从描述中我们可以看出,这个压缩包的内容涵盖了多种在Java开发中处理数据库的技术,包括JDBC(Java Database Connectivity)、c3p0(一个连接池实现)、commons-dbutils(Apache的一个数据库工具库)、spring-jdbc...

    day06_JDBC连接池&JDBCTemplate2

    常见的JDBC连接池实现有C3P0、Apache DBCP、HikariCP等。使用连接池,开发者需要在应用启动时配置连接池参数,然后通过连接池提供的DataSource对象获取Connection,操作完毕后归还连接,而不是直接关闭。 ...

    java常用的lib

    C3P0还支持自动扩展,当数据库连接达到预设上限时,会尝试创建更多连接。这使得在高并发环境下,C3P0能更好地应对资源需求。 除了上述三个库,还有许多其他常用的Java库: 4. **Hibernate**: Hibernate是一个...

    Spring事务管理配置文件问题排查

    - 确保数据库连接池配置正确,如C3P0、Druid或HikariCP,并且事务隔离级别设置符合需求。 6. **代码示例中的问题**: - 示例代码中,`@Override`方法`getSyncstatusPages`中包含了一些SQL操作的示例,但并未明确...

    SpringMVC整合jdbc+json实例

    数据源则是连接数据库的关键,通常使用Apache DBCP或C3P0等连接池。 ```xml &lt;!-- 数据库连接配置 --&gt; &lt;bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"&gt; ``` **3. 数据库操作*...

    一些常用的dao

    为了提高性能和减少资源消耗,Java开发中通常会使用连接池(如C3P0、HikariCP、Apache DBCP等)来管理数据库连接。连接池可以预先配置一定数量的数据库连接,供应用程序复用,避免了频繁的创建和关闭连接。 7. **...

Global site tag (gtag.js) - Google Analytics