首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【YashanDB 知识库】druid 连接池做断网测试,无法自动重新连接

【YashanDB 知识库】druid 连接池做断网测试,无法自动重新连接

原创
作者头像
用户11441800
发布2025-03-25 14:44:19
发布2025-03-25 14:44:19
3170
举报

【标题】druid 连接池断网测试,崖山数据库无法自动重新连接

【问题分类】驱动使用

【关键字】druid,socket timeout

【问题描述】使用崖山数据库 23.2.7.100 进行适配过程中反馈崖山数据库不能自动重连

【问题原因分析】模拟的断网测试,报错如下:

初步分析,怀疑是没有配置 socket timeout 等参数和默认查询语句没有修改,会话保留时间过短,容易报错。

建议客户配置如下:

将默认查询:select 1;    修改成:select 1 from dual;

jdbc:yasdb://xx.xx.xx.xx:1688/test?productName=mysql&useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&socketTimeout=120&allowPublicKeyRetrieval=true

依然没有效果,还是报错一样的信息。继续查看相关配置信息:

从默认配置看,testOnBorrow 设置为 false,testWhileIdle 设置为 true,闲置时间大于 timeBetweenEvictionRunsMillis 即可重连,即断网 60s 之后,才会被动去重连,如果在 60s 之类,是会有报错,还没触发重连

分析到这,配置主动检测,将 test-on-borrow 配置成 True  test-While-Idle 设置为 false,问题解决

【解决/规避方法】配置主动检测,将 test-on-borrow 配置成 True  test-While-Idle 设置为 false

【影响范围】23.2.7.100

【修复版本】-

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档