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

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7919216.html?templateId=1718516

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

【问题分类】驱动使用

【关键字】druid,socket timeout

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

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

output (1)

初步分析,怀疑是没有配置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

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

output (2)

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

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

output (3)

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

【影响范围】23.2.7.100

【修复版本】-

posted @   YashanDB  阅读(5)  评论(0编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签
点击右上角即可分享
微信分享提示