clickhouse ERROR com.alibaba.druid.pool.DruidDataSource [1029] testWhileIdle is true, validationQuery not set
时间: 2023-07-21 09:28:17 浏览: 158
canal.adapter 运行异常: com.alibaba.druid.pool.DruidDataSource 解决办法
这个错误是因为您使用了阿里巴巴的Druid数据源,但是您开启了testWhileIdle属性,该属性会在连接空闲一定时间后自动检测连接是否有效,但是您没有设置validationQuery属性,这会导致连接池不知道如何检测连接是否有效。
解决方法是在数据源配置文件中增加validationQuery属性,该属性指定了一个SQL查询语句,连接池会使用该语句检测连接是否有效。对于ClickHouse数据库,建议将validationQuery设置为SELECT 1,因为ClickHouse不支持像MySQL那样的SHOW TABLES等命令。
示例配置:
```
spring.datasource.driver-class-name=ru.yandex.clickhouse.ClickHouseDriver
spring.datasource.url=jdbc:clickhouse://localhost:8123/test
spring.datasource.username=default
spring.datasource.password=
spring.datasource.validationQuery=SELECT 1
spring.datasource.testWhileIdle=true
```
请注意,validationQuery的值应该根据您使用的数据库类型而定。
阅读全文