参数 默认值 说明
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连接池配置常用参数说明相关推荐

  1. dbcp连接池配置mysql_dbcp数据库连接池的配置和使用

    dbcp连接池是Apache旗下的软件,开源连接池,使用步骤如下: 1)导入dbcp的jar包 commons-dbcp-1.4.jar  核心包 commons-pool-1.5.6.jar 辅助包 ...

  2. 【超详细】DBCP连接池配置参数说明

    <!-- 数据源1 --><bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSo ...

  3. dbcp连接池配置详解_重学MySQL:事务与连接池,一文详解带你搞懂

    拼多多三面惨败,java中间件.数据库与spring框架,答不上... 吊打MySQL:21性能优化实践+学习导图+55面试+笔记+20高频知识点 Mysql事务 事务: 事务指逻辑上的一组操作,组成 ...

  4. dbcp连接池配置详解_JDBC第四篇【数据库连接池、DbUtils框架、分页】(修订版)

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 1.数据库连接池 什么是数据库连接池 简单来说:数据 ...

  5. DBCP连接池配置参数详解

    initialSize="10"      初始化连接,连接池启动时创建的初始化连接数量(默认值为0) maxActive="80"           最大活 ...

  6. DBCP连接池配置详解

    Spring DBCP配置 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource ...

  7. dbcp连接池配置参数

    1.<!-- 数据源1 --> 2. <bean id="dataSource" 3. class="org.apache.commons.dbcp.B ...

  8. DBCP,C3P0,druid,HiKariCP连接池配置使用

    Apache DBCP连接池配置 Apache commons-dbcp 需要导入dbcp包和 pool包 ,可以 从spring-framework-3.0.2.RELEASE-dependenci ...

  9. DBCP连接池常用参数详解

    DBCP连接池配置详解 连接池空闲连接数:连接池中存放的没有被使用的连接,使用getNumIdle()方法获取 连接池活动连接数:已经被程序借出,正在使用的连接数,当调用conn.close()方法后 ...

最新文章

  1. 什么是485转光纤?485光纤转换器功能特点及技术参数详解
  2. php db类 应用实例,PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
  3. 电脑太慢了最简单的办法怎么弄_修电脑不求人—最实用办公室电脑故障及解决办法,办公室人都说好...
  4. Json与List的相互转换 [谷歌的Gson.jar和阿里的fastJson.jar]
  5. 队列Q----双数组下标查找
  6. linux下用iperf测试步骤,网络性能测试工具Iperf详细使用图文教程
  7. java 开源 dht_P2P中DHT网络原理
  8. 解决idea谷歌翻译插件不可用
  9. word自带公式编辑_如何在word中调整公式大小
  10. 树莓派3 linux,树莓派
  11. SV宏定义中反斜杠(\),反引号(`),双反引号(``)的作用
  12. 计算机键盘都起什么作用,电脑键盘各个按键功能 电脑键盘各个按键有什么功能...
  13. element修改图标的大小
  14. PPT:PowerPoint to Flash SDK:SWF
  15. 80核处理器_【装机帮扶站】第690期:12核amp;16核怪兽CPU配置推荐
  16. 喜马拉雅数据接口 JSSDK API 接入 demo WEB版 标准登录 、免登陆
  17. 康考迪亚大学获560万加元捐赠以鼓励创造力,是魁北克美术学院有史以来最大一笔捐赠
  18. 【渝粤教育】广东开放大学 国际法 形成性考核 (37)
  19. Github:Semantic-Segmentation-Suite分割网络集锦--使用小结
  20. word如何设置上标形式_word如何将107中的7设置为上标表示形式

热门文章

  1. java中u怎么用_Java中interrupt的使用
  2. python列表去重效率,你应该知道的python列表去重方法
  3. python方差的计算公式为什么减一_样本标准差分母为何是n-1
  4. 努比亚z17s刷原生安卓_电脑运行手机APP,不会没关系,我推荐你使用显卡服务器运行安卓模拟器...
  5. STM32F1笔记(十二)DAC
  6. C++编程调试秘笈(第1次阅读)
  7. 算法中的Strassen矩阵乘法
  8. java void方法_Java对象类的最终void wait(long ms)方法,包含示例
  9. ffmpeg 命令添加文字水印
  10. python安全攻防---scapy基础---计算机网络各层协议