2016-06-05 5 views
0

내 응용 프로그램에서 여러 데이터 소스를 만들 필요가 (내가 얼마나 많은지 모르겠다.)이 설정 파일에서 어디서 내가 그들 각각 (오라클 데이터 소스 다 가정) 각 설정.봄 - 프로그래밍 방식으로 여러 데이터 소스

어떻게 처리하고 구성 파일의 다른 매개 변수를 기반으로 하나를 선택할 수 있습니까?

내 생각은이 데이터 소스를 모두 Map에 배치하고 올바른 데이터 소스를 얻을 수있는 키로 생각했습니다.

문제는 모두 @Bean 주석으로 작성해야하며 문제는 응용 프로그램의 어느 곳에서나 액세스 할 수 있다는 것입니다.

몇 가지 제안 사항이 있으십니까?

편집 :

database1.username=... 
database1.password=... 

database2.username=... 
database2.password=... 

때 응용 프로그램이 구성 파일을 읽기 시작하고 각각에 대해 별도의 @Bean을 만들어야합니다, 그래서 다른에 따라 나중에 올바른 데이터 소스를 선택할 수 있습니다 구성 파일에서 i는 할 수 있습니다 구성 매개 변수.

+0

고유 한 이름을 가진 각 DataSource의 @Bean. 지도가 필요하지 않습니다. BeanFactory를 사용하십시오. DataSource에 이름을 지정해달라고 요청하십시오. 왜 복제할까요? – duffymo

+0

내 편집을보세요. 얼마나 많은 DataSource를 가질 수 있는지 알지 못합니다. 사용자는 구성 파일에서 DataSource를 정의하고이를 작성해야합니다. 따라서 @Bean 정의를 사용할 수 없습니다. 사용자가 Spring에 대해 전혀 알지 못하기 때문에 XML에서 Bean을 사용할 수 없다. – Mistre83

답변

0

스프링 환경 Profiles이 문제의 해결책이되어야합니다. 예를 들어 "group_a"라는 데이터 소스 만 사용하려면 구성 파일을 사용하여 응용 프로그램을 설정할 수 있습니다.

관련 문제