当前位置: 首页 > news >正文

SpringBoot集成Druid启动报错testWhileIdle is true, validationQuery not set

项目场景:

新上的达梦数据库,信创项目。


问题描述

提示:达梦数据库通信异常

达梦数据库偶发出现通信异常问题,数据库连接池也有配置线程有效性监控,但是发现在yaml中的配置test-while-idle: true生效了,但是validation-query: SELECT 'x’不生效。导致在信创项目上若长期有的模块连接池没有请求被达梦数据库kill掉了。

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedruid:url: jdbc:mysql://192.168.1.11:3306/wetrol?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8username: rootpassword: 11111driver-class-name: com.mysql.cj.jdbc.Driverinitial-size: 10max-active: 100min-idle: 10max-wait: 60000validation-query: SELECT 'x'test-while-idle: truetest-on-borrow: falsetest-on-return: false# 其他配置...

原因分析:

yaml中的配置test-while-idle: true生效了,但是validation-query: SELECT 'x’不生效。导致在信创项目上若长期有的模块连接池没有请求被达梦数据库kill掉了。
应该是druid版本问题,感兴趣的同学深究一下!


解决方案:

手动写到Java代码中解决

    public DataSource dataSource() {DruidDataSource druidDataSource = new DruidDataSource();druidDataSource.setTestWhileIdle(true);druidDataSource.setValidationQuery("SELECT  1");druidDataSource.setKeepAliveBetweenTimeMillis(60000);return druidDataSource;}

相关文章:

  • 如何用fiddler进行弱网测试(工作常用篇)
  • Qt官方案例知识点总结(拖放操作——Drag And Drop Robot )
  • 【Linux 网络】网络工具ifconfig和iproute/iproute2工具详解
  • java网络原理5
  • Linux 基础IO(上)--文件与文件描述符fd
  • python将字符串转成二进制数组
  • JVM快速入门
  • scGPT方法解读
  • (即插即用模块-特征处理部分) 四十五、(2024 TGRS) SFF 浅层特征融合模块
  • WebRtc09:网络基础P2P/STUN/TURN/ICE
  • [实战] Petalinux驱动开发以及代码框架解读
  • IBM WebSphere Application Server 7.0/8.5.5证书过期问题处理
  • firecrawl的docker安装和api调用
  • 【python】-基础语法3
  • flutter开发音乐APP(简单的音乐播放demo)
  • Android Compose 无网络状态处理全指南:从基础到高级实践
  • 家庭服务器IPV6搭建无限邮箱系统指南
  • 米壳AI:跨境电商图片翻译的“隐形革命”:当AI技术遇上全球化生意
  • 每日算法-250430
  • 高性能架构设计-分库分表
  • 两部门发布“五一”假期全国森林草原火险形势预测
  • 夜读丨春天要去动物园
  • 国铁集团去年收入12830亿元增3%,全年铁路运输利润总额创新高
  • 兴业银行一季度净赚超237亿降逾2%,营收降逾3%
  • 卡尼领导的加拿大自由党在联邦众议院选举中获胜
  • 河北:开展领导干部任性用权等形式主义官僚主义问题专项整治