起因:数据库查询过慢,导致框架默认超过了默认时间,从而导致当前会话自动断开
解决方案:
pom
datasource:type: com.alibaba.druid.pool.DruidDataSourcedruid:connectTimeout: 60000socketTimeout: 60000
DruidProperties
@Value("${spring.datasource.druid.connectTimeout}")private int connectTimeout;@Value("${spring.datasource.druid.socketTimeout}")private int socketTimeout;/** 设置单词会话最大执行时间 **/datasource.setConnectTimeout(connectTimeout);datasource.setSocketTimeout(socketTimeout);
1. connectTimeOut:指建立连接的超时时间,比较容易理解
2. socketTimeOut:指客户端和服务进行数据交互的时间,是指两者之间如果两个数据包之间的时间大于该时间则认为超时,而不是整个交互的整体时间,比如如果设置1秒超时,如果每隔0.8秒传输一次数据,传输10次,总共8秒,这样是不超时的。而如果任意两个数据包之间的时间超过了1秒,则超时。
注:ruoyi是使用解析类进行参数配置的,如果直接在yml中增加配置是不起作用的