连接池DBCP参数设置

来源:互联网 发布:淘宝老廖沉香 编辑:程序博客网 时间:2024/05/16 15:36

                                               原文:连接池 DBCP 参数意义和设置 .     作者:shenzhenNBA

池配置属性:指定的内容



initialSize: 
池启动时创建的连接数量


maxActive:
同一时间可以从池分配的最多连接数量。设置为0时表示无限制。


maxIdle:
池里不会被释放的最多空闲连接数量。设置为0时表示无限制。


maxOpenPreparedStatements:
同一时间能够从语句池里分配的已备语句的最大数量。设置为0时表示无限制。


maxWait [官网为:maxWaitMillis,但实际是用前面的]:
在抛出异常之前,池等待连接被回收的最长时间(当没有可用连接时)。设置为-1表示无限等待。


minEvictableIdleTimeMillis:
连接保持空闲而不被驱逐的最长时间。


minIdle:
在不新建连接的条件下,池中保持空闲的最少连接数。


poolPreparedStatements:
是否对已备语句进行池管理(布尔值)。


timeBetweenEvictionRunsMillis: 
毫秒秒检查一次连接池中空闲的连接,


minEvictableIdleTimeMillis:
把空闲时间超过minEvictableIdleTimeMillis毫秒的连接断开, 直到连接池中的连接数到minIdle为止 连接池中连接可空闲的时间,毫秒 


defaultAutoCommit:
默认的SQL语句自动提交状态(开启或关闭)设置由连接池本身设置(false由连接池定),不设置该值setAutoCommit方法不被调用;


validationQuery:
要求必需是个SELECT类型的SQL语句,至少返回一行,由于它会在所有应用的SQL语句执行之前运行一次,所以原则上应该对数据库服务器带来的压力越小越好,推荐使用“SELECT 1”


testOnBorrow:
表示从连接池中获取连接前是否运行validationQuery,true=运行[默认],false=不运行;


testOnReturn:
表示将连接归还连接池前是否运行validationQuery,true=运行,false=不运行[默认];


应该注意各个参数的设置情况,应该根据具体的项目情况,以及需要的性能等情况而定,


比如常用参数设置如下:




[html] view plaincopyprint?01.<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
02.        <property name="driverClassName" value="referredDriver" />   
03.    <!---mysql:com.mysql.jdbc.Driver; SQLServerV2005+:com.microsoft.sqlserver.jdbc.SQLServerDriver->  
04.        <property name="url" value="referredDBURL" />  
05.    <!--   
06.    mysqlURL:jdbc:mysql://localhost:3306/myuser","root" ,"root";   
07.    SQLServerV2005+URL:jdbc:sqlserver://localhost:1433;databaseName=数据库名称   
08.    -->  
09.        <property name="username" value="DBLoginUser" />  
10.        <property name="password" value="DBLoginUserPassword" />  
11.        <property name="initialSize" value="5" />  
12.    <property name="maxIdle" value="30" />  
13.    <property name="minIdle" value="5" />  
14.    <property name="maxActive" value="15" />  
15.    <property name="removeAbandoned" value="true" />  
16.    <property name="removeAbandonedTimeout" value="300" /><!-- 自动回收超时时间(以秒数为单位) -->    
17.    <property name="maxWait" value="3000" /><!--超时等待时间以毫秒为单位-->  
18.    <property name="defaultAutoCommit" value="false" />  
19.    <property name="validationQuery">  
20.        <value>SELECT 1</value>  
21.    </property>  
22.    <property name="testOnBorrow">  
23.        <value>true</value>  
24.    </property>  
25.    <property name="testOnReturn">  
26.        <value>false</value>  
27.    </property>  
28.</bean>  
0 0
原创粉丝点击