在Spring配置文件中配置C3P0的例子

来源:互联网 发布:ubuntu修改密码 编辑:程序博客网 时间:2024/05/23 19:16

C3P0官方文档地址:http://www.mchange.com/projects/c3p0/index.html#configuring_connection_testing

首先在WEB工程的lib包中要导入C3P0数据源的jar包:
WEB-INF/lib/c3p0-0.9.1.2.jar (或者更高的版本)

在Spring的applicationContext.xml文件中配置:

1、声明配置数据源参数的jdbc.properties属性文件

<!-- 加载jdbc连接时需要的properties属性文件 -->    <context:property-placeholder location="classpath:jdbc.properties" />

2、声明C3P0数据源的配置信息

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">     <property name="driverClass" value="${jdbc.driverClassName}" />     <property name="jdbcUrl" value="${jdbc.url}" />     <property name="user" value="${jdbc.username}" />     <property name="password" value="${jdbc.password}" />     <!-- 连接池启动时的初始值 -->     <property name="initialPoolSize" value="${jdbc.initialPoolSize}" />     <!-- 连接池的最大值 -->     <property name="maxPoolSize" value="${jdbc.maxPoolSize}" />     <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->     <property name="minPoolSize" value="${jdbc.minPoolSize}" />     <!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->     <property name="maxIdleTime" value="${jdbc.maxIdleTime}" />     <property name="idleConnectionTestPeriod" value="360" />   <property name="preferredTestQuery" value="select 1" />       <property name="acquireIncrement" value="5" />       <property name="acquireRetryAttempts" value="50" />           <property name="acquireRetryDelay" value="1000" />           <property name="breakAfterAcquireFailure" value="true" />      <property name="autoCommitOnClose" value="false" />           <property name="testConnectionOnCheckout" value="true" />              <property name="maxStatements" value="100" />         <property name="maxStatementsPerConnection" value="5" />     </bean> 

3、编写独立的数据源配置文件:jdbc.properties属性文件

# mysql jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://dbmailpower.transn.net:3306/database_name?useUnicode=true&characterEncoding=UTF8 jdbc.username=database_userjdbc.password=database_user_password##连接池启动时的初始值 jdbc.initialPoolSize=5 ##连接池的最大值 jdbc.maxPoolSize=10 ##最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 jdbc.minPoolSize=3 #最大空闲时间 jdbc.maxIdleTime=600 

完毕。

0 0
原创粉丝点击