数据库信息都正常Connection is not available, request timed out after 30010ms.
情况说明
多线程高并发时有时会抛出异常,报错信息为Connection is not available, request timed out after 30010ms。
原因与解决
发现配置文件中设置的连接池数为3,未设置超时时间,高并发的时候,线程未释放连接之前,就会导致有的线程获取不到连接,超时时间默认30s,超过30s就会抛出异常。
- 根据自己的需求设置相应数据源的最大连接池数maxPoolSize,我这里设置为20;
- 可以适当增加超时时间,connectionTimeout,我这设置为60000,也就是60s。