スプリングブートアプリを使用しています。JDBC DataSource と Repositories で DB からデータを選択します。JDBS によるいくつかのクエリとリポジトリによるいくつかのクエリ。私のDBはRACを構成し、2つのインスタンスがあります。私は で db に接続し129.0.0.2
ますが、この URL は129.0.0.3(1 instance) and 129.0.0.4(2instance)
. すべてのクエリは実行され129.0.0.2
ますが、一部のクエリは 1 つのインスタンスでのみ実行する必要があります。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
しかし、リポジトリクエリを実行するときにどの DataSource を使用するのでしょうか?