[alibaba/druid]使用druid1.2.16仍存在active大于maxActive,是配置原因还是程序bug?

2025-11-10 912 views
6

配置: initialSize: 20 minIdle: 20 maxActive: 150 maxWait: 60000 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 30000 validationQuery: select DISTINCT tabschema from syscat.tables testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxPoolPreparedStatementPerConnectionSize: 20 filters: stat,wall,slf4j connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

错误堆栈: Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 1193, maxActive 150, creating 0 at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1840) at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1470) at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:5058) at com.alibaba.druid.filter.logging.LogFilter.dataSource_getConnection(LogFilter.java:909) at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:5054) at com.alibaba.druid.filter.FilterAdapter.dataSource_getConnection(FilterAdapter.java:2759) at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:5054) at com.alibaba.druid.filter.stat.StatFilter.dataSource_getConnection(StatFilter.java:704) at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:5054) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1448) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1440) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:83) at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)

回答

3

+1,相同问题我这边也遇到了,看druid 1.2.18版本有相关代码改动,不确定有没有修复这个问题

8

看上去更像是应用自身问题,可能有代码是是借了连接没还

6

最新的master有尝试修复。