日期:2014-05-16  浏览次数:20453 次

web程序通过dbcp连接池处理自动重新连接数据库问题(通过连接池dbcp处理方案)
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />
  <property name="maxActive" value="80" />
  <property name="minIdle" value="20" />
  <property name="maxIdle" value="80" />
  <property name="testOnBorrow" value="true" />
  <property name="testOnReturn" value="true" />
  <property name="testWhileIdle" value="true" />
  <property name="validationQuery" value="select count(1) from sys_loginUser" />
 </bean>


 

validationQuery : 一条sql语句,用来验证数据库连接是否正常。这条语句必须是一

个查询模式,并至少返回一条数据。可以为任何可以验证数据库连接是否正常的sql.

testOnBorrow : 默认值是true,当从连接池取连接时,验证这个连接是否有效

testOnReturn : 默认值是flase,当从把该连接放回到连接池的时,验证这个连接是

否有效

testWhileIdle : 默认值是false,当连接池中的空闲连接是否有效

往连接池里面加入下面4个属性的值,validationQuery为必须的,testOnBorrowtestOnReturn,testWhileIdle是根据validationQuery来验证连接是否有效

数据库断开连接后启动,tomcat不需要重启