常见的DBCP连接池配置
时间:2021-07-01 10:21:17
帮助过:20人阅读
<bean id="dataSource"
2 class="org.apache.commons.dbcp.BasicDataSource"
3 destroy-method="close">
4 <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
5 <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8"/>
6 <property name="username" value="root"/>
7 <property name="password" value="mysql123456"/>
8 <!--maxActive: 最大连接数量-->
9 <property name="maxActive" value="150"/>
10 <!--minIdle: 最小空闲连接-->
11 <property name="minIdle" value="5"/>
12 <!--maxIdle: 最大空闲连接-->
13 <property name="maxIdle" value="20"/>
14 <!--initialSize: 初始化连接-->
15 <property name="initialSize" value="30"/>
16 <!-- 连接被泄露时是否打印 -->
17 <property name="logAbandoned" value="true"/>
18 <!--removeAbandoned: 是否自动回收超时连接-->
19 <property name="removeAbandoned" value="true"/>
20 <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->
21 <property name="removeAbandonedTimeout" value="10"/>
22 <!--maxWait: 超时等待时间以毫秒为单位 -->
23 <property name="maxWait" value="1000"/>
24 <!-- 在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. -->
25 <property name="timeBetweenEvictionRunsMillis" value="10000"/>
26 <!-- 在每次空闲连接回收器线程(如果有)运行时检查的连接数量 -->
27 <property name="numTestsPerEvictionRun" value="10"/>
28 <!-- 1000 * 60 * 30 连接在池中保持空闲而不被空闲连接回收器线程-->
29 <property name="minEvictableIdleTimeMillis" value="10000"/>
30 <!-- 用来检测连接是否有效的sql,要求是一个查询语句。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会其作用。 -->
31 <property name="validationQuery" value="SELECT 1"/>
32 <!-- 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 -->
33 <property name="testOnBorrow" value="true"/>
34 <!-- 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能 -->
35 <property name="testOnReturn" value="false"/>
36 <!-- 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。 -->
37 <property name="testWhileIdle" value="true"/>
38 <!-- 检测连接的时间间隔 -->
39 <property name="timeBetweenEvictionRunsMillis" value="90000"/>
40 </bean>
常见的DBCP连接池配置
标签:apach 超时 url move host asi 连接数量 data lis