DBCP连接池配置常用参数说明
参数 | 默认值 | 说明 |
username | \ | 传递给JDBC驱动的用于建立连接的用户名 |
password | \ | 传递给JDBC驱动的用于建立连接的密码 |
url | \ | 传递给JDBC驱动的用于建立连接的URL |
driverClassName | \ | 使用的JDBC驱动的完整有效的Java 类名 |
initialSize | 0 | 初始化连接:连接池启动时创建的初始化连接数量,1.2版本后支持 |
maxActive | 8 | 最大活动连接:连接池在同一时间能够分配的最大活动连接的数量, 如果设置为非正数则表示不限制 |
maxIdle | 8 |
最大空闲连接:连接池中容许保持空闲状态的最大连接数量,超过的空闲连接将被释放, 如果设置为负数表示不限制 |
minIdle | 0 |
最小空闲连接:连接池中容许保持空闲状态的最小连接数量,低于这个数量将创建新的连接, 如果设置为0则不创建 |
maxWait | 无限 | 最大等待时间:当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数)超过时间则抛出异常,如果设置为-1表示无限等待 |
testOnReturn | false | 是否在归还到池中前进行检验 |
testWhileIdle | false |
连接是否被空闲连接回收器(如果有)进行检验.如果检测失败, 则连接将被从池中去除.设置为true后如果要生效,validationQuery参数必须设置为非空字符串 |
minEvictableIdleTimeMillis | 1000 * 60 * 30 |
连接在池中保持空闲而不被空闲连接回收器线程 (如果有)回收的最小时间值,单位毫秒 |
numTestsPerEvictionRun | 3 | 在每次空闲连接回收器线程(如果有)运行时检查的连接数量 |
timeBetweenEvictionRunsMillis | -1 |
在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. 如果设置为非正数,则不运行空闲连接回收器线程 |
validationQuery | null |
SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定, 则查询必须是一个SQL SELECT并且必须返回至少一行记录 |
testOnBorrow | true |
是否在从池中取出连接前进行检验,如果检验失败, |
DBCP连接池的自我检测
默认配置的连接池,是不对池中的链接做测试的,有时已经断开,但连接池不知道,这样从池里取出来的这样的连接访问数据库就会报错。
解决方案:1.定时对连接做测试,测试失败就关闭连接。
2.控制链接的空闲时间达到N分钟,就关闭连接(然后可再新建连接)
3.也可以混合使用两个方案:
。validationQuery(测试连接的sql语句) : validationQuery= "SELECT 1"
。testWhileIdle (连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除) : testWhileIdle = "true"
。testOnBorrow = "false" 借出连接时不要测试,否则很影响性能,性能会下降7-10倍
。timeBetweenEvictionRunsMillis (每30秒运行一次空闲连接回收器(独立线程)。并每次检查3个连接,
如果连接空闲时间超过30分钟就销毁。销毁连接后,连接数量就少了,如果小于minIdle数量,就新建连接,维护数量不少于minIdle)
timeBetweenEvictionRunsMillis = "30000"
。minEvictableIdleTimeMillis(池中的连接空闲x毫秒后被回收,默认30分钟):minEvictableIdleTimeMillis = "1800000"
。numTestsPerEvictionRun(在每次空闲连接回收器线程(如果有)运行时检查的连接数量,默认值就是3.) : numTestsPerEvictionRun ="3"
官方文档
转载于:https://www.cnblogs.com/happySmily/p/5941813.html
DBCP连接池配置常用参数说明相关推荐
- dbcp连接池配置mysql_dbcp数据库连接池的配置和使用
dbcp连接池是Apache旗下的软件,开源连接池,使用步骤如下: 1)导入dbcp的jar包 commons-dbcp-1.4.jar 核心包 commons-pool-1.5.6.jar 辅助包 ...
- 【超详细】DBCP连接池配置参数说明
<!-- 数据源1 --><bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSo ...
- dbcp连接池配置详解_重学MySQL:事务与连接池,一文详解带你搞懂
拼多多三面惨败,java中间件.数据库与spring框架,答不上... 吊打MySQL:21性能优化实践+学习导图+55面试+笔记+20高频知识点 Mysql事务 事务: 事务指逻辑上的一组操作,组成 ...
- dbcp连接池配置详解_JDBC第四篇【数据库连接池、DbUtils框架、分页】(修订版)
前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 1.数据库连接池 什么是数据库连接池 简单来说:数据 ...
- DBCP连接池配置参数详解
initialSize="10" 初始化连接,连接池启动时创建的初始化连接数量(默认值为0) maxActive="80" 最大活 ...
- DBCP连接池配置详解
Spring DBCP配置 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource ...
- dbcp连接池配置参数
1.<!-- 数据源1 --> 2. <bean id="dataSource" 3. class="org.apache.commons.dbcp.B ...
- DBCP,C3P0,druid,HiKariCP连接池配置使用
Apache DBCP连接池配置 Apache commons-dbcp 需要导入dbcp包和 pool包 ,可以 从spring-framework-3.0.2.RELEASE-dependenci ...
- DBCP连接池常用参数详解
DBCP连接池配置详解 连接池空闲连接数:连接池中存放的没有被使用的连接,使用getNumIdle()方法获取 连接池活动连接数:已经被程序借出,正在使用的连接数,当调用conn.close()方法后 ...
最新文章
- 什么是485转光纤?485光纤转换器功能特点及技术参数详解
- php db类 应用实例,PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
- 电脑太慢了最简单的办法怎么弄_修电脑不求人—最实用办公室电脑故障及解决办法,办公室人都说好...
- Json与List的相互转换 [谷歌的Gson.jar和阿里的fastJson.jar]
- 队列Q----双数组下标查找
- linux下用iperf测试步骤,网络性能测试工具Iperf详细使用图文教程
- java 开源 dht_P2P中DHT网络原理
- 解决idea谷歌翻译插件不可用
- word自带公式编辑_如何在word中调整公式大小
- 树莓派3 linux,树莓派
- SV宏定义中反斜杠(\),反引号(`),双反引号(``)的作用
- 计算机键盘都起什么作用,电脑键盘各个按键功能 电脑键盘各个按键有什么功能...
- element修改图标的大小
- PPT:PowerPoint to Flash SDK:SWF
- 80核处理器_【装机帮扶站】第690期:12核amp;16核怪兽CPU配置推荐
- 喜马拉雅数据接口 JSSDK API 接入 demo WEB版 标准登录 、免登陆
- 康考迪亚大学获560万加元捐赠以鼓励创造力,是魁北克美术学院有史以来最大一笔捐赠
- 【渝粤教育】广东开放大学 国际法 形成性考核 (37)
- Github:Semantic-Segmentation-Suite分割网络集锦--使用小结
- word如何设置上标形式_word如何将107中的7设置为上标表示形式
热门文章
- java中u怎么用_Java中interrupt的使用
- python列表去重效率,你应该知道的python列表去重方法
- python方差的计算公式为什么减一_样本标准差分母为何是n-1
- 努比亚z17s刷原生安卓_电脑运行手机APP,不会没关系,我推荐你使用显卡服务器运行安卓模拟器...
- STM32F1笔记(十二)DAC
- C++编程调试秘笈(第1次阅读)
- 算法中的Strassen矩阵乘法
- java void方法_Java对象类的最终void wait(long ms)方法,包含示例
- ffmpeg 命令添加文字水印
- python安全攻防---scapy基础---计算机网络各层协议