Hikari的`jdbcUrl`属性导致应用程序中的Hikari数据源声明失败

时间:2019-04-24 23:54:32

标签: spring-data-jpa datasource hikaricp spring-boot-starter

我正在尝试配置一个简单的Hikari数据源和另一个数据源,这是Spring的AbstractRoutingDataSource的实现。我想将普通数据源用作我的defaultTargetDataSource

我想让spring用所有基于属性文件的配置为我创建一个普通的HikariDataSource。

当我完全不声明任何DataSource bean时,只需设置spring.datasource.url属性,一切都很好。

但是,当我尝试使用以下任何一种方法自己创建普通的Hikari DataSource bean时,都会出现以下消息:

Caused by: java.lang.IllegalArgumentException: dataSource or 
  dataSourceClassName or jdbcUrl is required.
  at 
  com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:955)

我尝试过的事情

@ConfigurationProperties(prefix = "spring.datasource")
DataSource defaultDataSource() {
  return new HikariDataSource();
}

@ConfigurationProperties(prefix = "spring.datasource")
DataSource defaultDataSource() {
  return DataSourceBuilder.create().build();
}

我尝试过的属性变化:

spring.datasource.url
spring.datasource.jdbcUrl
spring.datasource.jdbc-url

我在spring-boot-starter-data-jpa中使用pom.xml依赖项,当我自己未创建DataSource时,spring正在为我创建默认的默认项,效果很好。

如何获得spring来正确配置并给我简单的Hikari数据源?

当我创建AbstractRoutingDataSource实现时,我知道弹簧会退后并且根本不会创建任何数据源。如果有防止dataSource bean退回@Autowire的方法,则该方法对我也适用。

PS:我确实看到了这个问题,但没有回答我的问题:How do I configure HikariCP in my Spring Boot app in my application.properties files?

0 个答案:

没有答案