问题描述:
发现项目有个超过十秒的查询报错如下
### Error querying database.
Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException:
Communications link failure
......
使用数据库工具DataGrip直接执行SQL可以正常查到数据,说明问题不在数据库,只能是项目的问题。推测数据库连接池配置出了问题。项目使用的是druid。我给所有跟时间相关的配置全加了个0,重新部署发现问题仍然存在。可能不是druid的问题?我按查找的资料对数据库连接的url配置(spring.datasource.druid.url)进行修改,问题未解决。
重新查看完整日志,最底部报错如下
......
Caused by: java.net.SocketTimeoutException: Read timed out
......
按该报错查询,找到github-issues有相同问题及解决方案:
1.升级druid版本
2.手动配置数据源
public DataSource authDataSource() {
DruidDataSourceWrapper ds = new DruidDataSourceWrapper();
ds.setSocketTimeout(999999);
ds.setConnectTimeout(999999);
return ds;
}

1万+

被折叠的 条评论
为什么被折叠?



