起因:数据库查询过慢,导致框架默认超过了默认时间,从而导致当前会话自动断开
解决方案:
pom
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
connectTimeout: 60000
socketTimeout: 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中增加配置是不起作用的