【发布时间】:2019-02-03 13:09:26
【问题描述】:
最近致力于将代码迁移到 Spring Boot 2.x,但在配置数据源 bean 时遇到了问题。我们有两个数据源,因此我们使用 DataSourceBuilder 手动构建 DataSource bean。
根据documentation,我正在设置这些属性:
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=sa
spring.datasource.password=
但是,当我这样做时,我收到以下错误:
java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.
at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:1059) ~[HikariCP-2.7.9.jar:na]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:109) ~[HikariCP-2.7.9.jar:na]
如果我更改设置以执行此操作:
spring.datasource.jdbcUrl=jdbc:mysql://localhost/test
然后就可以了。
如果我明确注释掉创建数据源的 bean,它也适用于单个数据源,这让我相信 datasourcebuilder 代码中存在问题。
此处提供了一个只有一个数据源的示例存储库:https://github.com/azizabah/hikari-issue
那么从配置的角度来看,当拥有多个数据源时,SB 1.5.X 和 SB 2.X 之间发生了什么变化?
【问题讨论】:
-
您的问题到底是什么?
-
@MarkRotteveel - 在底部添加了带有问题的编辑。
标签: spring-boot jdbc hikaricp