异常:com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60010, active 20, maxActive 20

本文分析了一个Spring Boot应用中出现的Druid数据库连接池连接超时的问题。当maxActive设置为20,maxWait为60000时,由于活动连接达到上限20,导致等待新连接超时(waitMillis60010)。解决办法是在application.yml中将`useSSL=true`改为`useSSL=false`。这有助于理解数据库连接池的管理和优化,以及如何处理Java应用程序中的数据库连接超时错误。

一、异常

Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60010, active 20, maxActive 20  
                at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)  
                at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:280)  
                ... 64 more  
Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60010, active 20, maxActive 20  
                at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1071)  
                at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:898)  
                at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4544) 

二、原因

Druid数据库连接池的数据库获取连接超时。

原druid中设置的 maxActive为20,maxWait为60000。

实际wait millis 60010, active 20。活动的连接数用完了,在等待新的连接,却没有新连接可用,导致超时。
三、解决

将application.yml文件中url的配置:useSSL=true 改为:useSSL=false。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值