栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

java.net.SocketException: Socket closed

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java.net.SocketException: Socket closed

spring boot druid 连接池连接hive时报以下错误

java.net.SocketException: Socket closed
close connection error
Error while extracting database name - falling back to empty error codes
连接池能正常使用,但是时间长的话就会有连接错误,需要重启才能正常使用
错误信息如下图


在spplication.properties文件中配置如下图所示


原因是连接长时间不用被hive关闭,而druid不知道连接断开,当有请求时继续使用这个链接,就会报以上错误。

解决办法

参考 https://www.jianshu.com/p/1626d41572f2.
把参数设置成以下这样

参数 默认值 描述
validationQuery SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,
则查询必须是一个SQL SELECT并且必须返回至少一行记录
testOnBorrow true 指明是否在从池中取出连接前进行检验,如果检验失败,
则从池中去除连接并尝试取出另一个.
注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串
testOnReturn false 指明是否在归还到池中前进行检验
注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串
testWhileIdle false 指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,
则连接将被从池中去除.
注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串
其他字段就不在这个介绍了想了解的可以去https://blog.csdn.net/lx348321409/article/details/76095751
之前搞了好久,修改之后重启就没有这个错误了。
查看druid连接池的后台监控界面localhost:8080/druid/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910795.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号