在Spring 项目中使用 C3p0 - JDBC3 Connection and Statement Pooling
C3p0 Document 在http://www.mchange.com/projects/c3p0/index.html
Spring 的 DataSource bean 定义如下, 把可变的变量抽出放在jdbc.properties file中, 方便修改 jdbc.properties file只要放在当前项目的classes路径下,或放在Tomcat 的Shared/classes下, Spring 就可以找到
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:jdbc.properties</value>
</property>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="autoCommitOnClose" value="true"/>
<property name="checkoutTimeout" value="${cpool.checkoutTimeout}"/>
<property name="initialPoolSize" value="${cpool.minPoolSize}"/>
<property name="minPoolSize" value="${cpool.minPoolSize}"/>
<property name="maxPoolSize" value="${cpool.maxPoolSize}"/>
<property name="maxIdleTime" value="${cpool.maxIdleTime}"/>
<property name="acquireIncrement" value="${cpool.acquireIncrement}"/>
<property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}"/>
</bean>
jdbc.properties
# Database URL
jdbc.url=jdbc:mysql://192.168.0.25"3306/db
# Database login information
jdbc.username=root
jdbc.password=
# Time to wait for an open connection before timing out
# (in milliseconds)
cpool.checkoutTimeout=5000
# Connection pool size
cpool.minPoolSize=5
cpool.maxPoolSize=40
# How long to keep unused connections around(in seconds)
# Note: MySQL times out idle connections after 8 hours(28,800 seconds)
# so ensure this value is below MySQL idle timeout
cpool.maxIdleTime=25200
# How long to hang on to excess unused connections after traffic spike
# (in seconds)
cpool.maxIdleTimeExcessConnections=1800
# Acquiring new connections is slow, so eagerly retrieve extra connections
# when current pool size is reached
cpool.acquireIncrement=5
分享到:
相关推荐
c3p0是一款开源的Java数据库连接池实现,由Miquel Arquero创建,它是Comprehensive Database Connection Pooling的缩写。c3p0提供了对JDBC数据库连接的池化管理,其主要功能包括: 1. **连接初始化**:c3p0允许配置...
2. **连接池初始化和配置**:通过XML配置文件(如`c3p0-config.xml`),可以详细设置连接池的参数,例如最小连接数、最大连接数、初始连接数、空闲超时时间、测试查询等。 3. **自动检测和恢复**:C3P0能定期检查...
C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供数据库连接的高效管理,以优化数据库应用程序的性能和资源利用。C3P0的设计目标是为了满足...
C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供高效且可靠的数据库连接管理,以帮助Java应用程序实现更优化的资源利用和性能提升。C3P0 ...
C3P0是一个开源的Java数据连接池组件,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供一个高效、强大并且可配置的数据源,以帮助Java应用程序管理数据库连接,提高系统的性能和稳定性...
C3P0是一款开源的Java数据库连接池(JDBC Connection Pool),它的全称是Comprehensive Database Connection Pooling。这个库的版本为0.9.1.2,它提供了高效、健壮的数据库连接管理功能,使得在Java应用程序中管理...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。...同时,C3P0与其他ORM框架(如Hibernate)和Spring框架集成良好,可以方便地在这些框架中使用C3P0作为连接池。
C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Commerical-grade Connection Pooling for JDBC。这个库在数据库连接管理上提供了高效且可靠的解决方案,尤其在处理多线程和高并发环境下的数据库连接时表现...
C3P0是一款开源的Java连接池,全称为Comprehensive Connection Pooling Packages,它由Mchange公司开发,主要用于提供数据库连接池服务。在Java应用程序中,C3P0可以帮助管理和优化数据库连接,提高系统的性能和稳定...
C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要功能是提供数据库连接的管理和复用,从而提高应用的性能和效率。在Java应用程序中,尤其是Web应用,...
C3P0是一个广泛使用的开源JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库由Mchange Software开发,版本号为0.9.2.1,旨在提高数据库连接管理的效率和可靠性,同时减少应用程序对数据库...
本文将详细介绍如何在Spring框架中配置三种常见的数据库连接池:DBCP、C3P0以及通过JNDI(Java Naming and Directory Interface)获取数据源。 #### 二、Apache DBCP **DBCP(Database Connection Pool)** 是...
C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供高效、灵活且稳定的数据库连接管理,从而优化数据库资源的使用,提高应用程序的性能和稳定...
C3P0是一款广泛使用的开源JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要功能是提供数据库连接的管理与复用,从而优化数据库的性能和资源利用效率。C3P0 0.9.5.5是其的一个版本,此...
C3P0是一个开源的Java连接池,全称为Com形Connection Pooling for Java,它提供了对JDBC数据库连接的管理,使得在多个并发应用中,数据库连接可以被高效地复用,从而提升系统性能,降低数据库操作的延迟。C3P0是基于...
在实际应用中,DBPool常与其他技术结合使用,例如Spring框架中的DataSource,它可以和各种类型的连接池集成,如C3P0、HikariCP、Apache DBCP等。此外,对于大型分布式系统,可能还需要考虑分布式连接池,如Hazelcast...
7. **Commons DBCP**:`commons-dbcp-1.2.1.zip`是Apache Commons Database Connection Pooling的实现,同样用于管理数据库连接池,与C3P0类似,用于优化数据库操作。 8. **Commons Pool**:`commons-pool-1.5.4....
2. **C3P0DataSource**:C3P0 是一个开源的 JDBC 连接池,提供了更丰富的功能,如自动检测死锁、连接测试等。配置 C3P0DataSource 同样需要提供数据库连接参数,并可定制更多高级特性。 3. **DBCP2DataSource**:这...
1. Connection Pooling(连接池):在大型应用中,为了提高性能和效率,通常使用连接池来管理数据库连接。例如,C3P0、HikariCP、Apache DBCP等。 2. JPA(Java Persistence API)和Hibernate:JPA是Java EE提供的...
例如,使用C3P0或HikariCP等连接池库。 ### 9. 故障排查 `connector-j-usagenotes-troubleshooting.html`提供了遇到问题时的解决指南,涵盖错误处理、日志配置、性能优化等方面。 ### 10. 总结 JDBC是Java开发中的...