已经配置了druid的spring:datasource:druid:validationQuery属性,但是报错:testWhileIdle is true, validationQuery not set
时间: 2023-07-21 16:35:48 浏览: 74
这是因为配置了 `spring.datasource.druid.testWhileIdle=true`,但是没有设置 `validationQuery` 导致的。`testWhileIdle` 属性的作用是开启连接空闲时是否执行 `validationQuery` 进行检测,如果没有设置 `validationQuery`,则会报错。
你可以在配置文件中添加如下配置:
```
spring.datasource.druid.validationQuery=SELECT 1
```
这样就能解决报错问题了。`SELECT 1` 可以替换成其他的合法 SQL 语句。
相关问题
已经配置了druid的spring:datasource:druid:validationQuery属性,但是不生效,报异常,如何解决
您好,可以参考以下几个方面来解决这个问题:
1. 首先,确认您的配置是否正确,validationQuery 属性应该是这样的:spring.datasource.druid.validation-query=SELECT 1 FROM DUAL。确认这个属性的值是正确的,且没有拼写错误。
2. 确认您的数据库连接池是否是 Druid,如果是其他的连接池,可能不支持 validationQuery 属性。如果不是 Druid,可以考虑使用 Druid 连接池。
3. 如果以上两个方面都没问题,可以尝试升级 Druid 版本,有些版本可能存在一些 bug,升级到最新的版本可能会解决问题。
4. 最后,可以检查一下您的数据库是否支持执行 validationQuery。有些数据库可能不支持执行 SELECT 1 FROM DUAL 这样的语句,您可以尝试执行其他的语句,比如 SELECT 1 等等。
希望以上几个方面能够帮到您解决问题。
com.alibaba.druid.pool.DruidDataSource : testWhileIdle is true, validationQuery not set
这是一个关于阿里巴巴的Druid连接池的配置问题。testWhileIdle参数设置为true表示连接池中的空闲连接需要定期进行检查,以确保它们仍然有效。而validationQuery参数可以用来检查连接是否仍然有效。因此如果testWhileIdle设置为true而validationQuery没有设置,就会出现这个警告信息。建议在配置文件中添加validationQuery参数,以避免此警告。