Подключение базы данных Spring Boot с несколькими базами данных
Я пытаюсь настроить приложения с несколькими базами данных с помощью пула соединений. Я определил bean-компоненты источника данных в моем 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. ¿Есть идеи?
Заранее спасибо!!