스프링 부트 앱을 사용합니다. JDBC DataSource and Repositories에 의해 DB로부터 데이터를 선택합니다. JDBS에 의한 일부 질의와 리포지토리에 의한 일부 질의. 내 DB는 RAC를 구성하고 2 개의 인스턴스가 있습니다. 나는 129.0.0.2
에 의해 db에 연결하지만이 URL은 129.0.0.3(1 instance) and 129.0.0.4(2instance)
사이에 균형을 이룬다. 모든 쿼리는 129.0.0.2
으로 실행되지만 하나의 인스턴스에서만 실행해야하는 쿼리가 있습니다. 나는 3 개의 데이터 소스를 만들었습니다 :SpringBoot에서 다른 데이터 소스에 대해 JPA 리포지토리를 구성하려면 어떻게해야합니까?
@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
을 쓸 수 있습니다하지만 저장소 쿼리를 실행할 때 어떤 데이터 소스를 사용할 것인가? 이 같은
이 솔루션을 권장하는 문서 또는 문서에 대한 링크를 공유 할 수 있습니까? 또는 당신 자신 솔루션? – user5620472
이것이 스프링 데이터 JPA에 대해 알고있는 것으로부터 작동해야한다고 생각합니다. 나 자신을 시도하지 않았다. 하나의 Spring Boot 애플리케이션에서 두 개의 데이터베이스로 이야기하는 것은 아키텍처 냄새의 일종이기 때문에, 당신은 그것에 대해 많은 자원을 찾을 수 있을지 의심 스럽다. – luboskrnac