您的位置:首页 > 其它

C3P0连接池配置信息记录备查

2015-09-07 10:20 330 查看
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://182.92.229.156:23306/template?useUnicode=true" />
<property name="user" value="root" />
<property name="password" value="sql2008" />

<!-- 如果 breakAfterAcquireFailure=true ,一旦pool向数据库请求连接失败,就会标记pool block并关闭pool,
这样无论数据库是否恢复正常,应用端都无法从pool拿到连接 -->
<property name="breakAfterAcquireFailure" value="false" />

<!--连接池中保留的最小连接数,默认为3-->
<property name="minPoolSize" value="5" />

<!--连接池中保留的最大连接数。默认值15 -->
<property name="maxPoolSize" value="30" />

<!--初始化连接池中的连接数,取值应在minPoolSize与maxPoolSize之间,默认为3-->
<property name="initialPoolSize" value="10" />

<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。默认值: 0 -->
<property name="maxIdleTime" value="0" />
<!-- maxConnectionAge表示 connection能存活的绝对时间 -->
<property name="maxConnectionAge" value="0" />

<!--当连接池连接耗尽时,客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待。单位毫秒。默认: 0 -->
<property name="checkoutTimeout" value="3000" />

<!--当连接池中的连接耗尽的时候c3p0 一次同时获取的连接数,默认值: 3 -->
<property name="acquireIncrement" value="3" />
<!--定义在从数据库获取新连接失败后重复尝试的次数。默认值: 30 ;小于等于0表示无限次-->
<property name="acquireRetryAttempts" value="0"/>
<!--重新尝试的时间间隔,默认为:1000毫秒-->
<property name="acquireRetryDelay" value="1000" />

<!--每60秒检查所有连接池中的空闲连接。默认值: 0,不检查 -->
<property name="idleConnectionTestPeriod" value="20" />
<!--c3p0将建一张名为C3p0TestTable_NotDelete的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么属性preferredTestQuery将被忽略。
你不能在这张Test表上进行任何操作,它将只供c3p0测试使用。默认值: null -->
<property name="automaticTestTable" value="C3p0TestTable_NotDelete" />

<!--关闭连接时,是否提交未提交的事务,默认为false,即关闭连接,回滚未提交的事务 -->
<property name="autoCommitOnClose" value="false" />

<!-- true表示在每次从pool内checkout连接的时候测试其有效性,这是个同步操作,因此应用端的每次数据库调用,
都会先通过测试sql测试其有效性,如果连接无效,会关闭此连接并剔除出pool,
并尝试从pool内取其他连接,默认为false,此特性要慎用,会造成至少多一倍的数据库调用。 -->
<property name="testConnectionOnCheckout" value="false" />

<!-- true表示每次把连接checkin到pool里的时候测试其有效性,
因为是个事后操作,所以是异步的,应用端不需要等待测试结果,但同样会造成至少多一倍的数据库调用。 -->
<property name="testConnectionOnCheckin" value="false" />

<!--c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能
通过多线程实现多个操作同时被执行。Default: 3-->
<property name="numHelperThreads" value="5" />
</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c3p0