我使用弹簧启动应用程序。我通过 JDBC 数据源和存储库从数据库中选择数据。JDBS 的一些查询和 Repositories 的一些查询。我的数据库配置 RAC 并有 2 个实例。我通过连接到 db,129.0.0.2
但这个 URL 在129.0.0.3(1 instance) and 129.0.0.4(2instance)
. 所有查询都执行,129.0.0.2
但有些查询我只需要在一个实例上执行。我创建了 3 个数据源:
@Bean(name = "primary")
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "second")
@ConfigurationProperties(prefix = "spring.secondDatasource")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "three")
@ConfigurationProperties(prefix = "spring.threeDatasource")
public DataSource threeDataSource() {
return DataSourceBuilder.create().build();
}
并在 application.properties 中配置它们。然后我可以写
@Qualifier("primary")DataSource dataSource
或者
@Qualifier("second")DataSource dataSource
但是当我执行存储库查询时会使用什么数据源?