spring配置
<context:property-placeholder location="classpath:jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 默认值是 0, 连接池创建连接的初始连接数目 -->
<property name="initialSize" value="2" />
<!-- 默认是 0, 连接数中最小空闲连接数 -->
<property name="minIdle" value="2" />
<!-- 默认值是 8, 连接池中同时可以分派的最大活跃连接数 -->
<property name="maxActive" value="8" />
<!-- 默认是 8 ,连接池中最大空闲连接数 -->
<property name="maxIdle" value="5" />
<!-- 默认值是无限大,当连接池中连接已经用完了,等待建立一个新连接的最大毫秒数 ( 在抛异常之前 ) -->
<property name="maxWait" value="60000" />
<!-- 默认值是 false, 是否清理 removeAbandonedTimeout 秒没有使用的活动连接 , 清理后并没有放回连接池 -->
<property name="removeAbandoned" value="true" />
<!-- 默认值是 300( 秒 ), 活动连接的最大空闲时间 -->
<property name="removeAbandonedTimeout" value="180" />
<!-- 当建立一个数据库连接的时候,这些属性参数将传给 jdbc driver,参数的形式必须是 [propertyName=property;]*。
<property name="connectionProperties">
<value>clientEncoding=utf-8</value>
</property>
-->
<!-- validate配置,重连配置 -->
<!-- 默认值是 false, 当连接池中的空闲连接是否有效 -->
<property name="testWhileIdle" value="true" />
<!-- 默认值是 true ,当从连接池取连接时,验证这个连接是否有效 -->
<property name="testOnBorrow" value="true" />
<!-- 默认值是 flase, 当从把该连接放回到连接池的时,验证这个连接是否有效 -->
<property name="testOnReturn" value="false" />
<!-- 验证连接是否成功, SQL SELECT 指令至少要返回一行 -->
<property name="validationQuery">
<value>select current date from sysibm.SYSDUMMY1</value>
</property>
<!-- 在执行检查时超时设置,通过statement 设置,statement.setQueryTimeout(validationQueryTimeout) -->
<property name="validationQueryTimeout" value="1" />
<!-- 默认值是 -1 ,每隔一段多少毫秒跑一次回收空闲线程的线程 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 默认值是 3 ,每次验证空闲连接的连接数目 -->
<property name="numTestsPerEvictionRun" value="8" />
</bean>
jdbc.properties
#db2
jdbc.driverClassName=com.ibm.db2.jcc.DB2Driver
jdbc.url=jdbc:db2://localhost:50000/dbname
jdbc.username=username
jdbc.password=password
##mysql
#jdbc.driverClassName=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8
#jdbc.username=root
#jdbc.password=password
##oracle
#jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
#jdbc.url=jdbc:oracle:thin:@localhost:1521:sid
#jdbc.username=username
#jdbc.password=password
DBCP 应用的总结(一)
http://blog.csdn.net/fover717/article/details/8121936
dbcp配置
http://blog.csdn.net/yyf_ad/article/details/17762795
dbcp基本配置和重连配置
http://blog.itpub.net/7971010/viewspace-1114524