Spring 引导 - Hikari 数据库配置
Spring Boot - Hikari Database Configuration
最近致力于将代码迁移到 Spring 启动 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 之间发生了什么变化?
您缺少 DataSourceProperties 的配置并直接尝试连接它。
您首先需要按照以下文档来实现您想要执行的操作:
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-two-datasources
碰巧有人犯了同样的错误并在 git 中作为错误提出,如果您愿意,您可以看到相同的文档被称为解决方案:
https://github.com/spring-projects/spring-boot/issues/12758
最近致力于将代码迁移到 Spring 启动 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 之间发生了什么变化?
您缺少 DataSourceProperties 的配置并直接尝试连接它。
您首先需要按照以下文档来实现您想要执行的操作: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-two-datasources
碰巧有人犯了同样的错误并在 git 中作为错误提出,如果您愿意,您可以看到相同的文档被称为解决方案: https://github.com/spring-projects/spring-boot/issues/12758