ServiceImplements DB 이중화
- 작성자 :
- 약*탕
- 작성일 :
- 2024-05-07 17:24:46
- 조회수 :
- 356
- 구분 :
- 개발환경 / 4.1
- 진행상태 :
- 완료
Q
첨부파일 그림 ServiceImplements에서
postgresql, oracle DB를 각각 바라보도록 mapper를 설정했는데,
같은 ServiceImplements에서는 context-mappper.xml를
------------------------------------------------------------------------------------------------------------------------------------
<bean class="org.egovframe.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="kr.go.aaa.aaa.*.*.*.service.impl" />
<property name="sqlSessionFactoryBeanName" value="sqlSession"/>
</bean>
<bean class="org.egovframe.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="kr.go.aaa.aaa.*.*.*.service.impl" />
<property name="sqlSessionFactoryBeanName" value="poisSqlSession"/>
</bean>
------------------------------------------------------------------------------------------------------------------------------------
아래와 같이 설정했는데도 하나의 db만 읽는 현상이 발생했습니다.
같은 패키지 안에 두개의 DB를 사용하는 것은 불가능 한가요
postgresql, oracle DB를 각각 바라보도록 mapper를 설정했는데,
같은 ServiceImplements에서는 context-mappper.xml를
------------------------------------------------------------------------------------------------------------------------------------
<bean class="org.egovframe.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="kr.go.aaa.aaa.*.*.*.service.impl" />
<property name="sqlSessionFactoryBeanName" value="sqlSession"/>
</bean>
<bean class="org.egovframe.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="kr.go.aaa.aaa.*.*.*.service.impl" />
<property name="sqlSessionFactoryBeanName" value="poisSqlSession"/>
</bean>
------------------------------------------------------------------------------------------------------------------------------------
아래와 같이 설정했는데도 하나의 db만 읽는 현상이 발생했습니다.
같은 패키지 안에 두개의 DB를 사용하는 것은 불가능 한가요
환경정보
-
- OS 정보 : Windows 11
- 표준프레임워크 버전 : 4.1.0
- JDK(JRE) 정보 : 11
- WAS 정보 : Tomcat 8.5
- DB 정보 : Postgresql, oracle
- 기타 환경 정보 : MyBatis
첨부파일
A
안녕하세요.
표준프레임워크센터입니다.
다중 DB 연결 시 datasource를 각각 생성하였는지를 확인하여 보시고
MapperConfigurer 빈 설정 시에는 다음과 같이
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="풀패키지명1" />
<property name="sqlSessionFactoryBeanName" value="sqlSession" />
</bean>
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="풀패키지명2" />
<property name="sqlSessionFactoryBeanName" value="sqlSession2" />
</bean>
풀패키지명1 과 풀패키지명2가 서로 달라야 한다는 점을 유의하여야 합니다.
서로 다른 패키지에 서로 다른 데이터베이스가 적용이 되어야, 충돌이 나지 않기 때문입니다.
감사합니다.
표준프레임워크센터입니다.
다중 DB 연결 시 datasource를 각각 생성하였는지를 확인하여 보시고
MapperConfigurer 빈 설정 시에는 다음과 같이
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="풀패키지명1" />
<property name="sqlSessionFactoryBeanName" value="sqlSession" />
</bean>
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="풀패키지명2" />
<property name="sqlSessionFactoryBeanName" value="sqlSession2" />
</bean>
풀패키지명1 과 풀패키지명2가 서로 달라야 한다는 점을 유의하여야 합니다.
서로 다른 패키지에 서로 다른 데이터베이스가 적용이 되어야, 충돌이 나지 않기 때문입니다.
감사합니다.