druid连接池的超时回收机制

原创 2018年04月09日 10:17:06
<!-- 打开removeAbandoned功能 -->
		<property name="removeAbandoned" value="true" />
		<!-- 1800秒,也就是30分钟 -->
		<property name="removeAbandonedTimeout" value="1800" />
		<!-- 关闭abanded连接时输出错误日志 -->
		<property name="logAbandoned" value="true" />

数据库有些连接会忘记关闭,这样连池的连接就会逐渐达到maxActive直至连接池无法提供服务。

使用druid连接池的超时回收机制就可以解决连接泄露问题

上面的代码解析如下:

设置removeAbandoned="true"时,当连接池连接数到达(getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)  [空闲的连接小于2并且活动的连接大于(最大连接-3)] 时便会启动连接回收,

那种活动时间超过removeAbandonedTimeout="1800"的连接将会被回收,

同时如果logAbandoned="true"设置为true,程序在回收连接的同时会打印日志。

removeAbandoned是连接池的高级功能,理论上这中配置不应该出现在实际的生产环境,因为有时应用程序执行长事务,可能这种情况下,会被连接池误回收,该种配置一般在程序测试阶段,为了定位连接泄漏的具体代码位置,被开启。

生产环境中连接的关闭应该靠程序自己保证。


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30938705/article/details/79862027

SQL Server 2014 函数和事务

-
  • 1970年01月01日 08:00

数据库连接池的配置问题-空闲线程的监控和回收. druid 1.8的一个bug

* jdbc pool : lhttp://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html  (The JDBC Connection Pool org...
  • fei33423
  • fei33423
  • 2016-02-16 21:22:03
  • 6348

使用druid连接池带来的坑testOnBorrow=false

首先说一下自己程序中遇到的问题,前一段时间新写了一个项目,主要架构改进,为前端提供接口(spring +springmvc+mybatis) 在新项目中使用的是阿里的druid连接池,配置简单,除...
  • lx348321409
  • lx348321409
  • 2017-07-25 19:16:55
  • 7971

druid连接池异常

在从excel导入10W条数据到mysql中时,运行一段时间就会抛这个异常,连接池问题  Java代码   org.springframework.transaction....
  • a137268431
  • a137268431
  • 2017-07-11 15:19:28
  • 713

项目用druid,长时间不访问应用,再访问又连接不上了数据库了

问题:据库和应用在同一台机,数据库用mysql5.6.20,已经升级druid到最新的1.0.7版本,访问的是localhost的mysql,放一个晚上不访问,第二天访问就报错了,重启服务正常,错误提...
  • jueshengtianya
  • jueshengtianya
  • 2016-01-25 16:17:19
  • 5061

Druid连接池一个设置引发的血案

参考:http://my.oschina.net/haogrgr/blog/224010 今天在一台配置很低的机器上运行批量更新的程序~~~     大概跑了三十分钟~~~这配置~~~...
  • jueshengtianya
  • jueshengtianya
  • 2016-01-15 11:27:57
  • 11168

druid连接池问题

he last packet sent successfully to the server was 0 milliseconds ago. The driver has not received a...
  • itzhuimeng
  • itzhuimeng
  • 2016-12-01 10:57:12
  • 2015

使用druid连接池的超时回收机制排查连接泄露问题

在工程中使用了druid连接池,运行一段时间后
  • peterwanghao
  • peterwanghao
  • 2014-10-14 09:36:48
  • 77404

druid获取连接超时异常排查

1 现象com.alibaba.druid.pool.GetConnectionTimeoutException: loopWaitCount 0, wait millis 60011        ...
  • name_liweibin
  • name_liweibin
  • 2014-05-12 10:52:32
  • 7816

线上使用阿里Druid连接池首次连接MySQL异常问题

线上使用阿里Druid连接池首次连接MySQL异常问题问题描述最近一段时间线上系统表现出一个这样的现象:每天第一次登录系统不成功,如果再次点击登录即可登录成功。这种现象不是偶尔发生,后来发现每天来第一...
  • cnhnnyzhy
  • cnhnnyzhy
  • 2016-02-26 23:19:04
  • 5536
收藏助手
不良信息举报
您举报文章:druid连接池的超时回收机制
举报原因:
原因补充:

(最多只允许输入30个字)