실행환경에 따른 context-datasource 동적 설정 문의
- 작성자 :
- 조*우
- 작성일 :
- 2022-02-23 15:57:49
- 조회수 :
- 2,598
- 구분 :
- 개발환경 / 3.9
- 진행상태 :
- 완료
Q
안녕하세요. 전자정부 프레임웍을 통해 개발을 진행하고 있는 개발자입니다.
다름이 아니오라 저희 시스템이 1개의 업무DB와 여러 연계 업무의 DB를 직접 JDBC 방식으로 접근해서 업무처리를 하고 있습니다.
최근 인프라의 요청으로 properties를 통해 업무DB(Tibero), 연계DB(Oracle)를 관리하고 있던 방식을
Jeus DataSource에서 관리를 해야 된다고 해서
기존 각각 실행환경(local, 개발, 검증, 운영)별로 생성한 properties를 Jeus에 등록하여 JNDI방식으로 connection pool을 변경하였습니다.
문제는 로컬은 tomcat으로 개발, 검증, 운영은 jeus로 실행을 하는데,
이 정보들을 실행환경에 따라 분기처리를 하려고 하는데
잘 안되네요...
바쁘시겠지만 아래 내용 확인 부탁 드리겠습니다.
감사합니다.
<Local>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<Dev, Qa, Prod>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="mainDb"/>
</bean>
※ ${jdbc.driver}, ${jdbc.url}등은 properties에 정의된 상수이며, 실행환경에 따라 읽어올 수 있음.
동일한 bean id로 실행환경에 따라 해당 Bean의 정보를 읽어올 수 있으면 좋겠습니다.
다름이 아니오라 저희 시스템이 1개의 업무DB와 여러 연계 업무의 DB를 직접 JDBC 방식으로 접근해서 업무처리를 하고 있습니다.
최근 인프라의 요청으로 properties를 통해 업무DB(Tibero), 연계DB(Oracle)를 관리하고 있던 방식을
Jeus DataSource에서 관리를 해야 된다고 해서
기존 각각 실행환경(local, 개발, 검증, 운영)별로 생성한 properties를 Jeus에 등록하여 JNDI방식으로 connection pool을 변경하였습니다.
문제는 로컬은 tomcat으로 개발, 검증, 운영은 jeus로 실행을 하는데,
이 정보들을 실행환경에 따라 분기처리를 하려고 하는데
잘 안되네요...
바쁘시겠지만 아래 내용 확인 부탁 드리겠습니다.
감사합니다.
<Local>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<Dev, Qa, Prod>
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="mainDb"/>
</bean>
※ ${jdbc.driver}, ${jdbc.url}등은 properties에 정의된 상수이며, 실행환경에 따라 읽어올 수 있음.
동일한 bean id로 실행환경에 따라 해당 Bean의 정보를 읽어올 수 있으면 좋겠습니다.
환경정보
-
- OS 정보 : linux
- 표준프레임워크 버전 : 3.9
- JDK(JRE) 정보 : 1.8
- WAS 정보 : jeus
- DB 정보 : tibero, oracle
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
구성 환경에 따른 설정 관리에 주로 스프링 프로파일을 사용합니다.
이와 관련된 내용은 다음 링크 주소를 참조 하시면 될듯 합니다.
https://www.baeldung.com/spring-profiles
설정한 프로파일은 jvm property 나 web.xml 파일에
설정하여 활성화할 수 있으며, 링크 문서에서
확인하실 수 있습니다.
감사합니다.
표준프레임워크센터입니다.
구성 환경에 따른 설정 관리에 주로 스프링 프로파일을 사용합니다.
이와 관련된 내용은 다음 링크 주소를 참조 하시면 될듯 합니다.
https://www.baeldung.com/spring-profiles
설정한 프로파일은 jvm property 나 web.xml 파일에
설정하여 활성화할 수 있으며, 링크 문서에서
확인하실 수 있습니다.
감사합니다.