【问题标题】:h2 database along with other datasourceh2 数据库以及其他数据源
【发布时间】:2019-11-12 00:43:45
【问题描述】:

我正在使用 spring boot 运行 h2 数据库。基本配置

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.hibernate.ddl-auto=create
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

一切顺利。

现在我想在我的应用程序中定义另一个 Datasource bean

    @Bean
    @Qualifier("oracleDatasource")
    public DataSource oracleDataSource(@Qualifier("oracleDBProperties") DataSourceProperties oracleDBProperties) {
        return oracleDBProperties.initializeDataSourceBuilder().build();
    }

    @Bean
    @ConfigurationProperties(prefix = "spring.oracle.datasource")
    public DataSourceProperties oracleDBProperties() {
        return new DataSourceProperties();
    }
spring.oracle.datasource.url=jdbc:oracle:thin:url:db
spring.oracle.datasource.username=test
spring.oracle.datasource.password=test
spring.oracle.datasource.driver-class-name=oracle.jdbc.OracleDriver

oracle 数据源初始化成功,但这次 h2 配置被忽略。看起来像定义另一个 DataSource bean 会抑制 spring 对 h2 的自动配置。

我怎样才能避免这种抑制,或者有没有办法像我为 oracle 所做的那样定义 h2?

我尝试为 h2 做与我为 oracle 所做的相同类型的 bean 配置,但它似乎不起作用。

更新

修复了以下问题

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "spring.h2.datasource")
    public DataSourceProperties h2DBProperties() {
        return new DataSourceProperties();
    }

    @Bean
    @Primary
    @Qualifier("h2Datasource")
    public DataSource h2DataSource(@Qualifier("h2DBProperties") DataSourceProperties h2DBProperties) {
        return h2DBProperties.initializeDataSourceBuilder().build();
    }
spring.h2.datasource.url=jdbc:h2:mem:testdb
spring.h2.datasource.driverClassName=org.h2.Driver
spring.h2.datasource.username=sa
spring.h2.datasource.password=

添加@Primary 注释并没有让任何东西抑制它。虽然,仍然不确定是否将其视为正确的解决方案。

【问题讨论】:

标签: java hibernate spring-boot datasource h2


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 2018-11-29
  • 2013-09-19
  • 2015-06-04
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
相关资源
最近更新 更多