`

Spring 中 C3p0 connection pooling 连接池的配置

 
阅读更多
在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 还有其他连接池

    c3p0是一款开源的Java数据库连接池实现,由Miquel Arquero创建,它是Comprehensive Database Connection Pooling的缩写。c3p0提供了对JDBC数据库连接的池化管理,其主要功能包括: 1. **连接初始化**:c3p0允许配置...

    C3P0数据库连接池

    2. **连接池初始化和配置**:通过XML配置文件(如`c3p0-config.xml`),可以详细设置连接池的参数,例如最小连接数、最大连接数、初始连接数、空闲超时时间、测试查询等。 3. **自动检测和恢复**:C3P0能定期检查...

    c3p0的jar包

    C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供数据库连接的高效管理,以优化数据库应用程序的性能和资源利用。C3P0的设计目标是为了满足...

    c3p0-0.9.1.2.zip

    C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供高效且可靠的数据库连接管理,以帮助Java应用程序实现更优化的资源利用和性能提升。C3P0 ...

    C3P0数据连接池包下载

    C3P0是一个开源的Java数据连接池组件,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供一个高效、强大并且可配置的数据源,以帮助Java应用程序管理数据库连接,提高系统的性能和稳定性...

    c3p0-0.9 jar

    C3P0是一款开源的Java数据库连接池(JDBC Connection Pool),它的全称是Comprehensive Database Connection Pooling。这个库的版本为0.9.1.2,它提供了高效、健壮的数据库连接管理功能,使得在Java应用程序中管理...

    c3p0连接数据jar包

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。...同时,C3P0与其他ORM框架(如Hibernate)和Spring框架集成良好,可以方便地在这些框架中使用C3P0作为连接池。

    c3p0-0.9.2.1包

    C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Commerical-grade Connection Pooling for JDBC。这个库在数据库连接管理上提供了高效且可靠的解决方案,尤其在处理多线程和高并发环境下的数据库连接时表现...

    C3P0的Jar包

    C3P0是一款开源的Java连接池,全称为Comprehensive Connection Pooling Packages,它由Mchange公司开发,主要用于提供数据库连接池服务。在Java应用程序中,C3P0可以帮助管理和优化数据库连接,提高系统的性能和稳定...

    c3p0-0.9.5.5.src.zip

    C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要功能是提供数据库连接的管理和复用,从而提高应用的性能和效率。在Java应用程序中,尤其是Web应用,...

    c3p0-0.9.2.1.zip

    C3P0是一个广泛使用的开源JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库由Mchange Software开发,版本号为0.9.2.1,旨在提高数据库连接管理的效率和可靠性,同时减少应用程序对数据库...

    Spring的数据源配置 DBCP、C3P0、JNDI.txt

    本文将详细介绍如何在Spring框架中配置三种常见的数据库连接池:DBCP、C3P0以及通过JNDI(Java Naming and Directory Interface)获取数据源。 #### 二、Apache DBCP **DBCP(Database Connection Pool)** 是...

    c3p0-0.9.2.1

    C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供高效、灵活且稳定的数据库连接管理,从而优化数据库资源的使用,提高应用程序的性能和稳定...

    c3p0-0.9.5.5.zip

    C3P0是一款广泛使用的开源JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要功能是提供数据库连接的管理与复用,从而优化数据库的性能和资源利用效率。C3P0 0.9.5.5是其的一个版本,此...

    C3P0的jar包

    C3P0是一个开源的Java连接池,全称为Com形Connection Pooling for Java,它提供了对JDBC数据库连接的管理,使得在多个并发应用中,数据库连接可以被高效地复用,从而提升系统性能,降低数据库操作的延迟。C3P0是基于...

    DBPool_v4.8.3 source

    在实际应用中,DBPool常与其他技术结合使用,例如Spring框架中的DataSource,它可以和各种类型的连接池集成,如C3P0、HikariCP、Apache DBCP等。此外,对于大型分布式系统,可能还需要考虑分布式连接池,如Hazelcast...

    ssh所需架包

    7. **Commons DBCP**:`commons-dbcp-1.2.1.zip`是Apache Commons Database Connection Pooling的实现,同样用于管理数据库连接池,与C3P0类似,用于优化数据库操作。 8. **Commons Pool**:`commons-pool-1.5.4....

    hibernate数据源

    2. **C3P0DataSource**:C3P0 是一个开源的 JDBC 连接池,提供了更丰富的功能,如自动检测死锁、连接测试等。配置 C3P0DataSource 同样需要提供数据库连接参数,并可定制更多高级特性。 3. **DBCP2DataSource**:这...

    java与不同数据库的连接

    1. Connection Pooling(连接池):在大型应用中,为了提高性能和效率,通常使用连接池来管理数据库连接。例如,C3P0、HikariCP、Apache DBCP等。 2. JPA(Java Persistence API)和Hibernate:JPA是Java EE提供的...

    JDBC官方文档

    例如,使用C3P0或HikariCP等连接池库。 ### 9. 故障排查 `connector-j-usagenotes-troubleshooting.html`提供了遇到问题时的解决指南,涵盖错误处理、日志配置、性能优化等方面。 ### 10. 总结 JDBC是Java开发中的...

Global site tag (gtag.js) - Google Analytics