DBCP连接池配置参数说明

来源:互联网 发布:中国 改革开放 知乎 编辑:程序博客网 时间:2024/05/22 08:26

原文:http://www.cnblogs.com/adolfmc/archive/2013/01/22/2872298.html


<bean id="dataSource"            class="org.apache.commons.dbcp.BasicDataSource"            destroy-method="close">          <property name="driverClassName" value="com.mysql.jdbc.Driver"/>          <property name="url" value="jdbc:mysql://192.168.0.109:3306/test?useUnicode=true&characterEncoding=UTF-8"/>          <property name="username" value="root"/>          <property name="password" value="root"/>          <!--maxActive: 最大连接数量-->            <property name="maxActive" value="150"/>          <!--minIdle: 最小空闲连接-->            <property name="minIdle" value="5"/>          <!--maxIdle: 最大空闲连接-->            <property name="maxIdle" value="20"/>          <!--initialSize: 初始化连接-->            <property name="initialSize" value="30"/>          <!-- 连接被泄露时是否打印 -->          <property name="logAbandoned" value="true"/>          <!--removeAbandoned: 是否自动回收超时连接-->            <property name="removeAbandoned"  value="true"/>          <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->            <property name="removeAbandonedTimeout" value="10"/>          <!--maxWait: 超时等待时间以毫秒为单位 1000等于60秒-->          <property name="maxWait" value="1000"/>          <!-- 在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. -->          <property name="timeBetweenEvictionRunsMillis" value="10000"/>          <!--  在每次空闲连接回收器线程(如果有)运行时检查的连接数量 -->          <property name="numTestsPerEvictionRun" value="10"/>          <!-- 1000 * 60 * 30  连接在池中保持空闲而不被空闲连接回收器线程-->          <property name="minEvictableIdleTimeMillis" value="10000"/>         <!-- 验证数据库连接的有效性 -->  <property name="validationQuery" value="SELECT 1"/>       </bean>  



碰到每天的第一个请求总是超时,多访问几遍又好了这种问题。

那就把下面这句加上 <property name="validationQuery" value="SELECT 1"/>   这句还是蛮重要的。