数据库信息都正常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。
文章讨论了在高并发场景下,由于连接池配置不足和超时时间设置不合理导致的`Connectionisnotavailable`异常。作者建议调整连接池大小和超时时间以提高并发性能。

2778

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



