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

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;}
http://www.xdnf.cn/news/3318.html

相关文章:

  • 【功能】根据时区获取开服天数
  • 4:机器人目标识别无序抓取程序二次开发
  • 深度学习正则化:原理、方法与应用深度解析
  • 【Linux服务器安装杀毒软件】
  • 利用v0与Cursor优化开发流程和效率
  • Unity 粒子同步,FishNet
  • 高等数学-第七版-下册 选做记录 习题9-6
  • 2025年4月AI科技领域周报(4.21-4.27):大模型生态加速演进 通用AI开启产业融合新范式
  • Java批量数据处理唯一ID生成优化
  • 如何用AI生成假期旅行照?
  • CUDA编程 - 如何使用 CUDA 流在 GPU 设备上并发执行多个内核 - 如何应用到自己的项目中 - concurrentKernels
  • 希尔伯特第十问题:是一个伪命题
  • 【android bluetooth 案例分析 03】【PTS 测试 】【PBAP/PCE/SSM/BV-10-C】
  • 用.net动态创建类的实例指南方案
  • MoonBit支持国产芯片开发--性能媲美C
  • 从零开始学Python游戏编程47-二维数组1
  • 一种基于光源评估并加权平均的自动白平衡方法(一)
  • 系统分析师-第十五章
  • nacos和redis本地启动
  • 小米MiMo推理大模型开源:7B参数规模超越更大规模模型
  • flutter开发音乐APP(简单的音乐播放demo)
  • StarRocks存算一体集群资源预估
  • 国产工业软件突破路径
  • 【Spring AI】Java结合ollama实现大模型调用
  • Java对集合进行操作,赋值新字段
  • 微前端统一状态树实现方案
  • 傅里叶与相位偏移
  • Python实例题:Python实现简易局域网视频聊天工具
  • 日记 - 2025.4.30 四月计划回顾、五月计划安排
  • Python10天突击-字符串输出