2
respostas

Clientes com nome de bando de dados diferente

Olá,

Tenho vários clientes, e cada um deles tem o nome do banco de dados diferente, inclusive o endereço também.

Como configuro isso, tendo em vista que nos exemplos passados está fixo dentro de uma classe? No caso, pensaria em criar um arquivo xml de configuração, e ler esse arquivo na configuração. Seria correto? Ou qual é a solução mais correta?

Att, Adrian.

2 respostas

Dá para configurar dois databases sem problemas:

spring.datasource.jdbcUrl = [url]
spring.datasource.username = [username]
spring.datasource.password = [password]

spring.second-datasource.jdbcUrl = [url]
spring.second-datasource.username = [username]
spring.second-datasource.password = [password]
@Configuration
@PropertySource({"classpath:persistence-multiple-db-boot.properties"})
@EnableJpaRepositories(
  basePackages = "com.baeldung.multipledb.dao.product", 
  entityManagerFactoryRef = "productEntityManager", 
  transactionManagerRef = "productTransactionManager")
public class PersistenceProductAutoConfiguration {

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

    // productEntityManager bean 

    // productTransactionManager bean
}

https://www.baeldung.com/spring-data-jpa-multiple-databases

Acho que minha pergunta não foi interpretada da maneira correta.

Tenho vários clientes, cada um deles tem o sistema em seu servidor próprio, então ele que define o usuário, senha, nome da base de dados, e afins.

Como a TI da organização faria esta configuração?

No meu sistema atual, é utilizado um context.xml, que fica no tomcat, onde possui todas as configurações de conexão.

Utilizando o spring, como ficaria?