一尘不染

Spring Boot:如何使用多种模式并动态选择在运行时使用哪种模式

spring-boot

请帮助我寻找答案

如何建立一个数据库连接并为每个请求指定不同的架构?

先感谢您。


阅读 259

收藏
2020-05-30

共1个答案

一尘不染

定义多个数据源,并根据您的请求更改为具有正确架构的数据源,是否可行?

spring.datasource.url = jdbc:oracle:thin:@//maui:1521/xe
spring.datasource.username = schema1
spring.datasource.password = ...

spring.datasource2.url = jdbc:oracle:thin:@//maui:1521/xe
spring.datasource2.username = schema2
spring.datasource2.password = ..

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

@Bean
@ConfigurationProperties(prefix="spring.datasource2")
public DataSource schema2() {
    return DataSourceBuilder.create().build();
}

否则,您将需要终止并重新创建连接以继续使用单个数据源,但这对于您的应用程序来说确实很慢,因为它需要一次又一次地重新连接。最好使用一些NoSQL数据库来实现这种动态数据存储。

2020-05-30