【问题标题】:Spring Boot : How to add new Datasource at runtimeSpring Boot:如何在运行时添加新的数据源
【发布时间】:2018-12-05 00:09:36
【问题描述】:

Spring Boot:如何在运行时添加新数据源

我的项目要连接两个数据源。

我可以在 application.properties 中配置第一个数据源,但第二个数据源无法配置,因为此配置位于第一个数据源的 DB 中的 tableConfig 中。

所以,

  1. 配置第一个数据源。
  2. 从第一个数据源查询数据以获取第二个数据源的配置(url、用户名、密码)。
  3. 添加新的第二个数据源

现在,我从 application.properties 配置两个数据源,它可以工作了。

但要求从第一个数据源的表中更改第二个数据源。 T.T

请给我一些建议。

谢谢。

【问题讨论】:

标签: java spring spring-boot jpa spring-data-jpa


【解决方案1】:

这样的 Spring 配置应该可以工作(将其视为伪代码):

@Bean("secondDatasource")
public Datasource secondDatasource(@Qualifier("firstDatasource") Datasource ds){
    // use `ds` to obtain the necessary information to obtain a datasource ...
    return DataSourceBuilder
        .create()
        .username(username)
        .password(pwd)
        .url(url)
        .driverClassName(driver)
        .build();
}

我至少会在配置类中不使用 Spring Data JPA 并直接在数据源上操作以保持简单。

您已经获得了指示,如何设置 Spring Data JPA 以使用不同的数据源:http://www.baeldung.com/spring-data-jpa-multiple-databases

上面的代码主要是抄自:https://stackoverflow.com/a/28822145

【讨论】:

    猜你喜欢
    • 2019-07-01
    • 2018-01-24
    • 2018-03-12
    • 1970-01-01
    • 2018-01-04
    • 2015-01-24
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多