dromara / hutool

🍬A set of tools that keep Java sweet.
https://hutool.cn
Other
28.96k stars 7.49k forks source link

配置Druid的数据源配置后报错:Property minIdle does not exist on target class com.zaxxer.hikari.HikariConfig #922

Closed tuchief closed 4 years ago

tuchief commented 4 years ago

版本情况

JDK版本: 8 springboot版本:2 hutool版本: 5.3.5

问题描述(包括截图)

我的设置: DataSource ds = DruidDSFactory.create(setting).getDataSource();

db.setting中配置了druid的数据源配置项,但是在启动时,会报如下错误: Caused by: java.lang.RuntimeException: Property minIdle does not exist on target class com.zaxxer.hikari.HikariConfig at com.zaxxer.hikari.util.PropertyElf.setProperty(PropertyElf.java:131) at com.zaxxer.hikari.util.PropertyElf.lambda$setTargetFromProperties$0(PropertyElf.java:57) at java.util.Hashtable.forEach(Hashtable.java:878) at com.zaxxer.hikari.util.PropertyElf.setTargetFromProperties(PropertyElf.java:52) at com.zaxxer.hikari.HikariConfig.<init>(HikariConfig.java:134) at cn.hutool.db.ds.hikari.HikariDSFactory.createDataSource(HikariDSFactory.java:47) at cn.hutool.db.ds.AbstractDSFactory.createDataSource(AbstractDSFactory.java:127) at cn.hutool.db.ds.AbstractDSFactory.getDataSource(AbstractDSFactory.java:92) at cn.hutool.db.ds.DSFactory.getDataSource(DSFactory.java:59) 因为springboot自带hikari,所以Assert.notNull(dataSourceClass)检测是通过的,就走了HikariDSFactory,但是我db.setting中的配置却是druid的配置,Hikari自然就找不到minldle了。

这是个bug吗?所以我现在要使用Druid,该如何设置?

tuchief commented 4 years ago

已解决,还是得认真看文档的 使用:DSFactory.setCurrentDSFactory(new DruidDSFactory(setting));