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/



