c3p0连接池与dbcp连接池的区别:
(1)
c3p0有自动回收空闲连接的功能;
dbcp没有自动回收空闲连接的功能;
(2)
c3p0提供最大空闲时间,超时则断开当前连接;
dbcp提供最大连接数,超过最大连接数,则断开所有连接。
实际使用,以mybatis举例:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 配置连接池属性 -->
<property name="driverClass" value="${jdbc.driver}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- c3p0连接池的私有属性 -->
<property name="maxPoolSize" value="30" />
<property name="minPoolSize" value="10" />
<!-- 关闭连接后不自动commit -->
<property name="autoCommitOnClose" value="false" />
<!-- 获取连接超时时间 -->
<property name="checkoutTimeout" value="10000" />
<!-- 当获取连接失败重试次数 -->
<property name="acquireRetryAttempts" value="2" />
</bean>
网友评论