0

I try to set multiple datasource, but just always only can get primary datasource. source Primary:

    @Configuration
    @EnableJdbcRepositories("com.xxx.repository.abc")
    public class AbcDataSourceConfig {

      @Bean
      @Primary
      @ConfigurationProperties(prefix="spring.abc")
      public DataSourceProperties abcDataSourceProperties() {
          return new DataSourceProperties();
      }

      @Bean
      @Primary
      public DataSource abcDataSource(@Qualifier("abcDataSourceProperties") DataSourcePropertiesproperties) {
          log.debug("abc properties : {}", properties.getDriverClassName());
          return properties.initializeDataSourceBuilder().build();
      }

      @Bean
      @Primary
      public NamedParameterJdbcOperations abcJdbcOperations(@Qualifier("abcDataSource") DataSource abcDs) {
          return new NamedParameterJdbcTemplate(abcDs);
      }
  }

source 2:

@Configuration
@EnableJdbcRepositories(jdbcOperationsRef = "cbaJdbcOperations", basePackages = "com.xxx.repository.cba")
public class CbaDataSourceConfig {

    @Bean
    @ConfigurationProperties(prefix="spring.cba")
    public DataSourceProperties cbaDataSourceProperties() {
        return new DataSourceProperties();
    }

    @Bean
    public DataSource cbaDataSource(@Qualifier("cbaDataSourceProperties") DataSourceProperties properties) {
        return properties.initializeDataSourceBuilder().build();
    }

    @Bean
    public NamedParameterJdbcOperations cbaJdbcOperations(@Qualifier("cbaDataSource") DataSource cbaDs) {
        return new NamedParameterJdbcTemplate(cbaDs);
    }
}

when I try to select cba's data, it show is error: "Caused by: java.sql.SQLSyntaxErrorException: Table 'abc.cba_data' doesn't exist".

but cba_data is in the cba datasource.

how to setting is correct?

Jens Schauder
  • 77,657
  • 34
  • 181
  • 348
J. Hu
  • 53
  • 8
  • Consider answer here https://stackoverflow.com/questions/30337582/spring-boot-configure-and-use-two-datasources – Martin Karari Feb 25 '21 at 08:28
  • Hi @MartinKarari, thanks for your help, but it doesn't work, I tried it. – J. Hu Feb 25 '21 at 08:36
  • Does this answer your question? [Multiple DataSources using Spring Data JDBC and CrudRepository Interface](https://stackoverflow.com/questions/58960333/multiple-datasources-using-spring-data-jdbc-and-crudrepository-interface) – Jens Schauder Feb 25 '21 at 13:15
  • Hi @JensSchauder, I try to do the same setting but it still doesn't work. In the "cba" table, it will become in "abc" when I use cba's repository. – J. Hu Feb 26 '21 at 03:15

0 Answers0