当程序存在缺陷时,申请的连接忘记关闭,这时候,就存在连接泄漏了。Druid提供了RemoveAbandanded相关配置,用来关闭长时间不使用的连接。例如:

配置

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">... ...<property name="removeAbandoned" value="true" /> <!-- 打开removeAbandoned功能 --><property name="removeAbandonedTimeout" value="1800" /> <!-- 1800秒,也就是30分钟 --><property name="logAbandoned" value="true" /> <!-- 关闭abanded连接时输出错误日志 -->... ...</bean>

配置removeAbandoned对性能会有一些影响,建议怀疑存在泄漏之后再打开。在上面的配置中,如果连接超过30分钟未关闭,就会被强行回收,并且日志记录连接申请时的调用堆栈。

内置监控页面查看未关闭连接堆栈信息

当removeAbandoned=true之后,可以在内置监控界面datasource.html中的查看ActiveConnection StackTrace属性的,可以看到未关闭连接的具体堆栈信息,从而方便查出哪些连接泄漏了。

web应用

如果你的应用配置了WebStatFilter: https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_%E9%85%8D%E7%BD%AEWebStatFilter
在内置监控页面weburi-detail.html中,查看JdbcPoolConnectionOpenCount和JdbcPoolConnectionCloseCount属性,如果不相等,就是泄漏了。

https://github.com/alibaba/druid/wiki/%E8%BF%9E%E6%8E%A5%E6%B3%84%E6%BC%8F%E7%9B%91%E6%B5%8B

Druid 连接泄漏监测相关推荐

  1. druid连接泄漏GetConnectionTimeoutException: wait millis 60000, active 5, maxActive 5, creating 0

    连接泄漏GetConnectionTimeoutException: wait millis 60000, active 5, maxActive 5, creating 0 druid中 maxAc ...

  2. Druid连接池的实用配置详解

    DRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0.DBCP.PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针 ...

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

    参考:http://my.oschina.net/haogrgr/blog/224010 今天在一台配置很低的机器上运行批量更新的程序~~~ 大概跑了三十分钟~~~这配置~~~这程序~~~ 然后华丽丽 ...

  4. druid连接池mysql5.7_Spring Boot 使用Druid连接池整合Mybatis-Plus连接Mysql数据库

    一.连接池 在普通的数据库访问程序中,客户程序得到的连接对象是物理连接,调用连接对象的close()方法将关闭连接,而采用连接池技术,客户程序得到的连接对象是连接池中物理连接的一个句柄,调用连接对象的 ...

  5. Druid连接池报错:org.postgresql.util.PSQLException: FATAL: too many connections for role “*********“

    一 错误描述 1 负责的BI中的数据数据可视化项目一直运行的比较稳定,突然早上用户反馈,报表查询非常慢,非常卡,而且有些网页直接打不开(单体应用,没有降级和熔断). 2 没一会CPU就报警了,CPU使 ...

  6. 【SpringBoot 2学习笔记】《九》SpringBoot2数据库访问之Druid连接池

    为什么要使用数据库连接池 不使用数据库连接池: 对于并发量大的网站,会导致以下问题: 每一次web请求都要建立一次数据库连接,在同样的步骤下重复占用系统资源 不能控制被创建的连接对象数,系统资源会被毫 ...

  7. get/close not same thread Druid 连接池一个设置没设置对引发的血案

    我就郁闷了,1000W+数据审核每次总是到一半就出这么个错,仔细找找原来是一个配置项的小问题,removeAbandonedTimeout 这个代表你从连接池取出一个连接多少秒之后你还没还回来,那就强 ...

  8. 摘要: Druid连接池一个设置引发的血案 -- 链接池出现问题

    摘要: Druid连接池一个设置引发的血案 今天在一台配置很低的机器上运行批量更新的程序~~~ 大概跑了三十分钟~~~这配置~~~这程序~~~ 然后华丽丽的报异常了~~~ 具体异常是这样的, DEBU ...

  9. Druid连接池 一个设置 removeAbandonedTimeout

    2019独角兽企业重金招聘Python工程师标准>>> Druid连接池 一个设置 removeAbandonedTimeout 博客分类: 数据库 <!-- 超过时间限制是否 ...

最新文章

  1. 当统计信息不准确时,CBO可能产生错误的执行计划,并在10053 trace中找到CBO出错的位置示例...
  2. 2020总结--惟愿人间花满天
  3. matlab 两幅图不同,如何把两个不同M文件的图放在一起
  4. 趣学python3(25)-del,deepcopy以及内存引用计数
  5. volatile能保持线程安全吗_从volatile说到i++的线程安全问题
  6. 不同的容器里实现 RadioButton的单选
  7. 内置函数二---作业
  8. JAVA中运行看不见窗口_eclipse中已经把窗口设置为可视,为什么运行 时还是看不到窗口?...
  9. 如何删除旧的和未使用的Docker映像
  10. Java8 的 Stream API 的确牛X,但性能究竟如何呢?
  11. 7. Nginx 预定义变量
  12. mysql留存率除了存储过程_基于MySQL分析线上充值留存率
  13. 信息安全技术及应用 常规加密技术
  14. 2021Java面试总结!平安银行java开发面试
  15. 74cms v5.0.1存在远程连接命令/代码执行漏洞
  16. Python 计算父亲节和母亲节
  17. 2022-4-4 基于单片机的MQ2烟雾报警(风吹摇铃 奔赴星海)
  18. 18.企业信息化战略与实施
  19. 学点编码知识又不会死:Unicode的流言终结者和编码大揭秘
  20. 电路理论基础习题册参考答案

热门文章

  1. OpenGL 显示多个外星人实例
  2. QT的QPair类的使用
  3. Ognl,Context,ValueStack详解
  4. 服务器销售税率,转销售云服务器税率
  5. html5时间画布走动,javascript+HTML5 canvas绘制时钟功能示例
  6. Qt学习笔记之MySQL数据库
  7. MFC中字符间相互转换总结
  8. 浅谈linux字符设备注册
  9. matlab中.P文件的使用说明
  10. 相邻兄弟选择器(+)、子选择器()、兄弟选择器(~)等用法