Spring中以占位符方式配置c3p0连接池

来源:互联网 发布:wordpress cms主题 编辑:程序博客网 时间:2024/06/05 21:14

1、需要写一个c3p0.propeties文件,里面以键值对的方式存放着数据库连接池的配置信息。

内容如下:

###### C3P0 dataBase connection pool ######driverClass=oracle.jdbc.OracleDriverjdbcUrl=jdbc:oracle:thin:@168.9.202.49:1521:TESTuser=TESTpassword=TESTacquireIncrement=5acquireRetryAttempts=10acquireRetryDelay=3000autoCommitOnClose=truebreakAfterAcquireFailure=falsecheckoutTimeout=3000initialPoolSize=3maxIdleTime=10000maxPoolSize=10maxStatements=0numHelperThreads=3propertyCycle=600maxStatementsPerConnection=0


2. 配置spring数据源

  先引入占位符方式的支持配置,请参考:

Spring中应用占位符需引入的配置http://blog.csdn.net/hu_shengyang/article/details/7900435

 然后配置c3p0数据源如下:

<!-- 配置数据源dataSource  C3P0连接池方式连接数据源 -->    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">        <property name="driverClass" value="${driverClass}" />          <property name="jdbcUrl" value="${jdbcUrl}" />          <property name="user" value="${user}" />          <property name="password" value="${password}" />  <property name="acquireIncrement" value="${acquireIncrement}" />          <property name="acquireRetryAttempts" value="${acquireRetryAttempts}" />          <property name="acquireRetryDelay" value="${acquireRetryDelay}" />          <property name="autoCommitOnClose" value="${autoCommitOnClose}" />          <property name="breakAfterAcquireFailure" value="${breakAfterAcquireFailure}"/>          <property name="checkoutTimeout" value="${checkoutTimeout}" />         <property name="initialPoolSize" value="${initialPoolSize}" />          <property name="maxIdleTime" value="${maxIdleTime}" />          <property name="maxPoolSize" value="${maxPoolSize}" />          <property name="maxStatements" value="${maxStatements}" />          <property name="numHelperThreads" value="${numHelperThreads}" />          <property name="propertyCycle" value="${propertyCycle}" />  <property name="maxStatementsPerConnection" value="${maxStatementsPerConnection}" />     </bean>


这样的好处是,我们只需要修改*.properties文件就可以修改连接池的配置了。

对于其它的连接池以占位符的方式来配置也是同工异曲~