dbcp官方配置说明:http://commons.apache.org/dbcp/configuration.html
<!--池内最大活动连接数-->
<property name="maxActive" value="1000"/>
<!--最大空闲连接数,对与高负载的系统此值不可设置太小,需要以实际情况设置-->
<property name="maxIdle" value="500"/>
<!--最小空闲连接数,低于这个数量将创建新的连接,如果设置为0则不创建-->
<property name="minIdle" value="2"/>
<!--排队等待时间,-1是等待时间不确定-->
<property name="maxWait" value="-1"/>
<!--验证连接有效性sql,与testOnBorrow,testOnReturn,testWhileIdle联用,此4个属性估计能解决咱们的问题,呵呵-->
<property name="validationQuery" value="select count(*) from srm_test"/>
<!--池内取连接是验证-->
<property name="testOnBorrow" value="true"/>
<!--归还连接时验证-->
<property name="testOnReturn" value="true"/>
<!--验证空闲连接-->
<property name="testWhileIdle" value="true"/>
<!--标记是否删除泄露的连接,如果他们超过了removeAbandonedTimout的限制 -->
<!--如果开启"removeAbandoned",那么连接在被认为泄露时可能被池回收. -->
<!--这个机制在(getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)时被触发.-->
<property name="removeAbandoned" value="true"/>
<!--泄露的连接可以被删除的超时值, 单位秒-->
<property name="removeAbandonedTimeout" value="600"/>
<!--池内最大活动连接数-->
<property name="maxActive" value="1000"/>
<!--最大空闲连接数,对与高负载的系统此值不可设置太小,需要以实际情况设置-->
<property name="maxIdle" value="500"/>
<!--最小空闲连接数,低于这个数量将创建新的连接,如果设置为0则不创建-->
<property name="minIdle" value="2"/>
<!--排队等待时间,-1是等待时间不确定-->
<property name="maxWait" value="-1"/>
<!--验证连接有效性sql,与testOnBorrow,testOnReturn,testWhileIdle联用,此4个属性估计能解决咱们的问题,呵呵-->
<property name="validationQuery" value="select count(*) from srm_test"/>
<!--池内取连接是验证-->
<property name="testOnBorrow" value="true"/>
<!--归还连接时验证-->
<property name="testOnReturn" value="true"/>
<!--验证空闲连接-->
<property name="testWhileIdle" value="true"/>
<!--标记是否删除泄露的连接,如果他们超过了removeAbandonedTimout的限制 -->
<!--如果开启"removeAbandoned",那么连接在被认为泄露时可能被池回收. -->
<!--这个机制在(getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)时被触发.-->
<property name="removeAbandoned" value="true"/>
<!--泄露的连接可以被删除的超时值, 单位秒-->
<property name="removeAbandonedTimeout" value="600"/>