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

红太狼 2023-10-04 18:35 50阅读 0赞

问题描述:

SpringBoot集成Druid,版本:druid-1.1.10.jar,启动的时候报错:testWhileIdle is true, validationQuery not set。但是不影响系统使用,数据库等一切访问正常。

  1. <dependency>
  2. <groupId>com.alibaba</groupId>
  3. <artifactId>druid-spring-boot-starter</artifactId>
  4. <version>1.1.10</version>
  5. </dependency>

网上资料的解决方案:

spring.datasource.test-while-idle=true
spring.datasource.validation-query=SELECT 1

但是发现还是不起作用,仍然报错。为什么不起作用呢,因为springboot1.4取消spring.datasource.type

查看源码:druid-1.1.10.jar

在com.alibaba.druid.pool下的DruidDataSource.class类中,大家搜索validationQuery not set关键字,发现错误是从这里面报出来的,因为validationQuery这个属性是空的,所以大家前面的配置根本就没有生效。

最终解决方案:

配置不变

  1. spring.datasource.test-while-idle=true
  2. spring.datasource.validation-query=SELECT 1

代码里加上配置类

  1. @Configuration
  2. public class DruidConfig {
  3. @ConfigurationProperties(prefix = "spring.datasource")
  4. @Bean
  5. public DataSource druidDataSource(){
  6. return new DruidDataSource();
  7. }
  8. }

参考文章:

springboot连接数据库报错testWhileIdle is true, validationQuery not set - 瘦鱼 - 博客园

SpringBoot集成Druid_云鼎的博客-CSDN博客_集成druid

发表评论

表情:
评论列表 (有 0 条评论,50人围观)

还没有评论,来说两句吧...

相关阅读