Sobes.tech
Junior — Middle

Spring Boot-da çoxsaylı məlumat mənbələri olan tətbiqdə əsas məlumat bazasının seçimini necə tənzimləmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

В Spring Boot для работы с несколькими источниками данных и выбора основной базы данных обычно делают следующее:

  1. Определяют несколько DataSource бинов с разными настройками подключения.
  2. Используют аннотации @Primary для указания основного источника данных.
  3. При необходимости создают отдельные EntityManagerFactory и TransactionManager для каждого источника.

Пример конфигурации с двумя источниками данных, где один помечен как основной:

@Configuration
public class DataSourceConfig {

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "spring.datasource.primary")
    public DataSource primaryDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource.secondary")
    public DataSource secondaryDataSource() {
        return DataSourceBuilder.create().build();
    }

    // Можно добавить EntityManagerFactory и TransactionManager для каждого DataSource
}

В application.properties или application.yml указываются параметры подключения для каждого источника с разными префиксами.

Таким образом, Spring Boot будет использовать primaryDataSource как основной, а остальные — как дополнительные.