`

C3P0 部分参数说明

阅读更多
1.最常用配置

initialPoolSize:连接池初始化时创建的连接数,default : 3(建议使用)

minPoolSize:连接池保持的最小连接数,default : 3(建议使用)

maxPoolSize:连接池中拥有的最大连接数,如果获得新连接时会使连接总数超过这个值则不会再获取新连接,而是等待其他连接释放,所以这个值有可能会设计地很大,default : 15(建议使用)

acquireIncrement:连接池在无空闲连接可用时一次性创建的新数据库连接数,default : 3(建议使用)

 

2.管理连接池的大小和连接的生存时间

maxConnectionAge:配置连接的生存时间,超过这个时间的连接将由连接池自动断开丢弃掉。当然正在使用的连接不会马上断开,而是等待它close再断开。配置为0的时候则不会对连接的生存时间进行限制。default : 0 单位 s(不建议使用)

maxIdleTime:连接的最大空闲时间,如果超过这个时间,某个数据库连接还没有被使用,则会断开掉这个连接。如果为0,则永远不会断开连接,即回收此连接。default : 0 单位 s(建议使用)

maxIdleTimeExcessConnections:这个配置主要是为了快速减轻连接池的负载,比如连接池中连接数因为某次数据访问高峰导 致创建了很多数据连接,但是后面的时间段需要的数据库连接数很少,需要快速释放,必须小于maxIdleTime。其实这个没必要配 置,maxIdleTime已经配置了。default : 0 单位 s(不建议使用)

 

3.配置连接测试:

automaticTestTable:配置一个表名,连接池根据这个表名用自己的测试sql语句在这个空表上测试数据库连接,这个表只能由c3p0来使用,用户不能操作。default : null(不建议使用)

preferredTestQuery:与上面的automaticTestTable二者只能选一。自己实现一条SQL检测语句。default : null(建议使用)

idleConnectionTestPeriod:用来配置测试空闲连接的间隔时间。测试方式还是上面的两种之一,可以用来解决MySQL8小时 断开连接的问题。因为它保证连接池会每隔一定时间对空闲连接进行一次测试,从而保证有效的空闲连接能每隔一定时间访问一次数据库,将于MySQL8小时无 会话的状态打破。为0则不测试。default : 0(建议使用)

testConnectionOnCheckin:如果为true,则在close的时候测试连接的有效性。default : false(不建议使用)

testConnectionOnCheckout:性能消耗大。如果为true,在每次getConnection的时候都会测试,为了提高性能,尽量不要用。default : false(不建议使用)

 

4.配置PreparedStatement缓存:

maxStatements:连接池为数据源缓存的PreparedStatement的总数。由于PreparedStatement属于单个 Connection,所以这个数量应该根据应用中平均连接数乘以每个连接的平均PreparedStatement来计算。同时 maxStatementsPerConnection的配置无效。default : 0(不建议使用)

maxStatementsPerConnection:连接池为数据源单个Connection缓存的PreparedStatement数,这 个配置比maxStatements更有意义,因为它缓存的服务对象是单个数据连接,如果设置的好,肯定是可以提高性能的。为0的时候不缓存。 default : 0(看情况而论)

 

5.重连相关配置 

acquireRetryAttempts:连接池在获得新连接失败时重试的次数,如果小于等于0则无限重试直至连接获得成功。default : 30(建议使用)

acquireRetryDelay:连接池在获得新连接时的间隔时间。default : 1000 单位ms(建议使用)

breakAfterAcquireFailure:如果为true,则当连接获取失败时自动关闭数据源,除非重新启动应用程序。所以一般不用。default : false(不建议使用)

checkoutTimeout:配置当连接池所有连接用完时应用程序getConnection的等待时间。为0则无限等待直至有其他连接释放或 者创建新的连接,不为0则当时间到的时候如果仍没有获得连接,则会抛出SQLException。其实就是 acquireRetryAttempts*acquireRetryDelay。default : 0(与上面两个,有重复,选择其中两个都行)

 

6.定制管理Connection的生命周期

connectionCustomizerClassName:用来定制Connection的管理,比如在Connection acquire 的时候设定Connection的隔离级别,或者在Connection丢弃的时候进行资源关闭,

就可以通过继承一个AbstractConnectionCustomizer来实现相关方法,配置的时候使用全类名。有点类似监听器的作用。default : null(不建议使用)

 

7.配置未提交的事务处理 

autoCommitOnClose:连接池在回收数据库连接时是否自动提交事务。如果为false,则会回滚未提交的事务,如果为true,则会自动提交事务。default : false(不建议使用)

forceIgnoreUnresolvedTransactions:这个配置强烈不建议为true。default : false(不建议使用)

一般来说事务当然由自己关闭了,为什么要让连接池来处理这种不细心问题呢?

 

8.配置debug和回收Connection

unreturnedConnectionTimeout:为0的时候要求所有的Connection在应用程序中必须关闭。如果不为0,则强制在 设定的时间到达后回收Connection,所以必须小心设置,保证在回收之前所有数据库操作都能够完成。这种限制减少Connection未关闭情况的 不是很适用。建议手动关闭。default : 0 单位 s(不建议使用)

debugUnreturnedConnectionStackTraces:如果为true并且 unreturnedConnectionTimeout设为大于0的值,当所有被getConnection出去的连接 unreturnedConnectionTimeout时间到的时候,就会打印出堆栈信息。只能在debug模式下适用,因为打印堆栈信息会减慢 getConnection的速度default : false(不建议使用)

 

其他配置项:因为有些配置项几乎没有自己配置的必要,使用默认值就好,所以没有再写出来。

 

分享到:
评论

相关推荐

    DBCP+C3P0+BoneCP连接池参数说明

    ### C3P0连接池参数说明 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,提供了比DBCP更丰富的配置选项。以下是一些重要参数: 1. **classLoader**: 自定义类加载器,用于加载JDBC驱动。 2. **driver...

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

    通过以上步骤,我们就能在iBatis项目中成功集成c3p0数据库连接池,并对c3p0的一些主要配置参数进行了详细解释。在实际开发中,根据项目的具体需求,合理调整这些参数,可以有效提高系统的稳定性和效率。

    C3P0简单配置和说明文档.pdf

    以下详细说明了C3P0相关的关键知识点。 ### C3P0的安装与配置 C3P0的使用非常简单,首先需要将相关的jar包放置在项目的CLASSPATH中。具体来说,需要包含两个jar包:`c3p0-*.*.*.*.jar`和`mchange-commons-java-0.2...

    c3p0-0.9.5.2.zip

    3. **mchange-commons-java-0.2.11.jar**: 这是Mchange Commons Java库,它是C3P0的一部分,提供了诸如线程安全的数据结构和实用工具类,用于支持C3P0的运行。 **配置文件 - c3p0-config.xml** 在Java应用中,配置...

    dbutils+c3p0

    "dbutils+c3p0+ojdbc6"这个主题涉及到三个主要组件,它们分别是DBUtils、C3P0和Oracle的JDBC驱动(ojdbc6)。下面将详细解释这三个组件及其在数据库操作中的作用。 1. DBUtils: DBUtils是Apache软件基金会提供的一...

    常用数据库连接池 (DBCP、c3p0、Druid) 配置说明1

    本文主要探讨了三个常用的数据库连接池:DBCP、c3p0和Druid,以及它们的配置说明。 1. **DBCP(Apache Commons DBCP)** DBCP是Apache Commons项目的一部分,它依赖于Apache Commons Pool对象池机制来管理数据库...

    数据库连接池c3p0配置_动力节点Java学院整理

    C3P0的一些重要配置参数解释如下: - `initialPoolSize`:初始连接池大小。 - `maxIdleTime`:连接的最大空闲时间,超过这个时间未使用的连接将被回收。 - `maxPoolSize`:连接池的最大容量。 - `minPoolSize`:连接...

    dao--4.连接池

    在`c3p01`、`c3p02`和`c3p03`文件中,可能分别包含C3P0的不同版本或配置说明。 5. **Tomcat内置的连接池**: Tomcat服务器本身也内置了一个连接池实现,通常称为Tomcat JDBC连接池。它提供了高性能、轻量级、完全...

    三大连接池的参数说明

    C3P0的配置通常更为灵活,可以根据实际应用需求调整参数以优化性能。 3. **Proxool** - `proxool.pool-name`: 连接池的唯一标识。 - `proxool.max-connections`: 最大并发连接数。 - `proxool.house-keeping-...

    基于java的GUI图形化界面的汽车油耗软件

    C3P0通过配置文件设置数据库连接参数,如URL、用户名、密码等,然后在程序中通过DataSource获取数据库连接,执行SQL语句来读取或写入数据。这使得数据持久化,即使软件关闭,数据也能被保存并再次加载。 软件还附带...

    SSM框架所需jar包_完整jar包

    SSM框架,全称为Spring...以上就是关于SSM框架所需jar包的详细解释,包括Spring、MyBatis和C3p0连接池的关键功能和使用场景。这些组件的集成使得开发者可以更高效地进行Web应用的开发,同时降低了数据库操作的复杂性。

    SpringJDBC笔记

    C3P0 是一个开源的 JDBC 数据源实现项目,它与 Hibernate 一起发布,实现了 JDBC3 和 JDBC2 扩展规范说明的 Connection 和 Statement 池。 ```xml <bean id="dataSource" class="com.mchange.v2.c3p0....

    宇电 AI-719 719P型精密人工智能工业调节器使用说明书(V8.21).pdf

    - **部分模块应用说明**:对特定模块的应用场景进行说明。 ### 4. 技术规格 详细介绍了调节器的各项技术参数,包括输入类型、精度、输出类型、通讯协议等。 ### 5. 接线方法 提供具体接线步骤和要求,确保设备安全...

    变频门机调试说明书松下变频器中文.pdf

    该说明书分为四个部分:变频器接线、变频器调试、功能参数表和故障监控表。 变频器接线 变频器接线是变频门机的关键部分,正确的接线方式是确保门机正常运行的前提。变频器的操作面板与端子见图1-1,包括输出端子...

    关于tomcat5.0配置及连接池配置详细

    我们以C3P0为例,详细说明配置步骤: 1. **添加依赖**: 首先,需要将C3P0的jar文件添加到Tomcat的`lib`目录下。通常,你可以从C3P0的官方网站下载最新版本的库文件。 2. **配置数据源**: 在`$CATALINA_HOME/conf/...

    fyh.rar ssm初始框架搭建

    在`spring-context.xml`中,你会看到c3p0的数据源配置,包括最大连接数、初始化连接数等参数。 5. **Bruid连接池**:除了c3p0,Bruid也是一个流行的数据库连接池,它具有更好的性能和稳定性。初始框架中可能也包含...

    海力士(原现代)消费类DDR2内存型号参数含义翻译skhynix(HYUDAI)Consumer Memory DDR2 PART Number Decoder

    本文将对海力士(原现代)消费类DDR2内存型号参数进行详细解读,帮助读者理解每部分代码所代表的意义。这不仅有助于消费者更好地选择适合自己需求的产品,同时也为专业人士提供了快速查阅内存规格的方法。 #### H5...

    变频门机调试说明书_松下变频器_中文.doc

    首先,变频器的接线部分详细列出了变频器的操作面板与端子配置,包括输出端子如C1至C3、B1至B3、A1至A3,以及控制电路端子如开门、关门信号、限位和编码器接口。在主电路接线中,强调了安全注意事项,如使用扼流圈...

    文件上传到服务器和数据库

    本示例主要涉及的是如何使用Java-Web技术,结合MVC(Model-View-Controller)设计模式,以及c3p0数据库连接池来实现图片的上传并将其存储在服务器上及数据库中。下面将详细解释这一过程的关键知识点。 首先,我们...

Global site tag (gtag.js) - Google Analytics