如何解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题
作者:川子的博客
这篇文章主要介绍了解决Druid线程池Cause:java.sql.SQLRecoverableException:IO错误:Socket read timed out的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
异常信息
触发场景
复现环境,当前Oracle测试数据库中,数据量超过1.5亿,深度分页时,评估查询时间超过10秒后,就会抛出Cause: java.sql.SQLRecoverableException: IO 错误: Socket read timed out异常。
当前druid版本:修改druid连接池版本,由原来1.2.16版本升级至1.2.22版本,解决接口查询超时的问题。
具体可参看版本发布信息:https://github.com/alibaba/druid/releases
找到版本发布更新的说明
从版本更新信息可以看到该默认逻辑已经去除
针对 1.2.12开始的connectTimeout和socketTimeout在没指定配置的情况下默认为10秒情况,去除该默认逻辑。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。