Skip to content

Druid 连接池

Druid 连接池是阿里巴巴开源的数据库连接池项目。Druid 连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防 SQL 注入,内置 Loging 能诊断 Hack 应用行为。

介绍

Druid 连接池的特性有哪些?

  • 支持 PSCache、LRU、SLB负载均衡
  • 内置 ExceptionSorter 保证稳定性
  • 支持 Filter 扩展
  • 支持 jmx/log/http 监控方式,SQL 级监控及 Spring/Web 关联监控 (StatFilter)
  • 支持 LogFilter 诊断及 logAbandoned 连接泄露诊断 (LogFilter)
  • 支持 SQL 防注入及配置加密 (WallFilter)

应用

原理

问题

Druid 连接池泄露排查

java
Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: 
wait millis 60000, active 5, maxActive 20
Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: 
wait millis 60000, active 5, maxActive 20
java
# 开启超时自动回收连接
removeAbandoned=true
# 设置自动回收连接超时时间,单位秒
removeAbandonedTimeout=180
# 打印回收连接时的错误日志
logAbandoned=true
# 开启超时自动回收连接
removeAbandoned=true
# 设置自动回收连接超时时间,单位秒
removeAbandonedTimeout=180
# 打印回收连接时的错误日志
logAbandoned=true