Подключение к базе данных Spring Boot pooling с несколькими базами данных

Я пытаюсь настроить приложения с несколькими базами данных с пулом подключений. Я запретил компоненты источника данных в моем application.properties:

# Topology and Configuration Datasource.
spring.datasource.tc.url=jdbc:postgresql://10.10.10.10:5432/TopologyConfiguration
spring.datasource.tc.username=adminsitraenr
spring.datasource.tc.password=abc123
spring.datasource.tc.driver-class-name=org.postgresql.Driver

# Versions Datasource.
spring.datasource.v.url=jdbc:postgresql://10.10.10.10:5432/Versions
spring.datasource.v.username=adminsitraenr
spring.datasource.v.password=abc123
spring.datasource.v.driver-class-name=org.postgresql.Driver

# Transportation Datasource.
spring.datasource.tp.url=jdbc:postgresql://10.10.10.10:5432/TransportPlan
spring.datasource.tp.username=adminsitraenr
spring.datasource.tp.password=abc123
spring.datasource.tp.driver-class-name=org.postgresql.Driver

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.tomcat.initial-size=2
spring.datasource.tomcat.max-wait=20000
spring.datasource.tomcat.max-active=50
spring.datasource.tomcat.max-idle=15
spring.datasource.tomcat.min-idle=8
spring.datasource.tomcat.default-auto-commit=true   

Затем я создал 3 класса конфигурации для определения каждого источника данных:

public class TopologyConfigurationDbConfig {

  /**
   * datasourceproperties creation method
   * @return datasourceproperties
   */
  @Primary
  @Bean
  @ConfigurationProperties("spring.datasource.tc")
  public DataSourceProperties tcDSProperties() {
    return new DataSourceProperties();
  }

  /**
   * datasourceproperties creation method
   * @param tcDSProperties datasource properties
   * @return datasource
   */
  @Primary
  @Bean
  public DataSource tcDS(@Qualifier("tcDSProperties") DataSourceProperties tcDSProperties) {
    return tcDSProperties.initializeDataSourceBuilder().build();
  }

  /**
   * LocalContainerEntityManagerFactoryBean creation method
   * @param tcDS datasource
   * @param builder entity manager factory builder
   * @return localcontainterentitymanagerfactorybean
   */
  @Primary
  @Bean
  public LocalContainerEntityManagerFactoryBean tcEMFactory(@Qualifier("tcDS") DataSource tcDS,
    EntityManagerFactoryBuilder builder) {
    return builder.dataSource(tcDS).packages("com.sitraplus.router.topologyconfiguration.domain").build();
  }

  /**
   * Platform transaction manager creation method
   * @param tcEMFactory entity manager factory
   * @return platformtransactionmanager
   */
  @Primary
  @Bean
  public PlatformTransactionManager tcDSTransactionManager(@Qualifier("tcEMFactory") EntityManagerFactory tcEMFactory) {
    return new JpaTransactionManager(tcEMFactory);
  }

Как видите, я установил тип источника данных и другие параметры для настройки пула подключений, но когда я запускаю приложение, количество подключений всегда равно 10. ¿Есть идеи?

Заранее спасибо!!

Указываете ли вы аннотации @Primary в классах ds других конфигураций? Если да, удалите их и просто сохраните в основном классе ds

peterzinho16 16.10.2018 18:13

Нет, не знаю. @ Основные аннотации есть только в этом классе конфигурации.

Pedro Ramírez Pérez 17.10.2018 07:56
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
522
0

Другие вопросы по теме