다중DB연결했을 때 질문입니다.
- 작성자 :
- 한*수
- 작성일 :
- 2018-01-02 17:47:41
- 조회수 :
- 1,867
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
전자정부프레임워크 질문 게시판을 검색하여
첨부한 3개의 xml 파일을 수정하였습니다.
global.properties에는 3개의 DB접속정보를 넣었습니다.
맵퍼클래스에는
-------- 다른 DB에 접속하는 맵퍼 -----------------
@Mapper("SH070410Dao")
public interface SH070410Dao {
@Resource(name="sqlSession_sechul")
HashMap<String, String> getEbankData(Map<String, Object> inputMap) throws Exception;
@Resource(name="sqlSession_sechul")
List<HashMap<String, String>> getEhojoMoreList(Map<String, Object> inputMap) throws Exception;
}
------------- 로컬DB에 접속하는 맵퍼 -------------------
@Mapper("SH070310Dao")
public interface SH070310Dao {
List<HashMap<String, String>> getAdminResponseList(Map<String, Object> inputMap) throws Exception;
int getTotalCount (Map<String, Object> inputMap) throws Exception;
HashMap<String, String> getRequestDetail(Map<String, Object> inputMap) throws Exception;
}
DB별로 각각 다른 패키지로 분리하였고
global.properties의 DB정보가 유효하면 웹페이지 접속이 잘되지만,
3개의 DB중에 1개의 DB정보를 잘못 수정한 경우 (운영 중에 타서버의 DB가 다운되었을 경우를 대비해서)에는
웹페이지 접속이 되지 않고 에러페이지로 처리됩니다.
제가 생각했을 때에는 잘못 입력된 DB정보를 사용하는 화면에서 뭔가 DB조회나 액션을 취했을 때에만
오류가 나야하는게 아닌가 싶은데요. 확인부탁드립니다.
수고하십시오.
첨부한 3개의 xml 파일을 수정하였습니다.
global.properties에는 3개의 DB접속정보를 넣었습니다.
맵퍼클래스에는
-------- 다른 DB에 접속하는 맵퍼 -----------------
@Mapper("SH070410Dao")
public interface SH070410Dao {
@Resource(name="sqlSession_sechul")
HashMap<String, String> getEbankData(Map<String, Object> inputMap) throws Exception;
@Resource(name="sqlSession_sechul")
List<HashMap<String, String>> getEhojoMoreList(Map<String, Object> inputMap) throws Exception;
}
------------- 로컬DB에 접속하는 맵퍼 -------------------
@Mapper("SH070310Dao")
public interface SH070310Dao {
List<HashMap<String, String>> getAdminResponseList(Map<String, Object> inputMap) throws Exception;
int getTotalCount (Map<String, Object> inputMap) throws Exception;
HashMap<String, String> getRequestDetail(Map<String, Object> inputMap) throws Exception;
}
DB별로 각각 다른 패키지로 분리하였고
global.properties의 DB정보가 유효하면 웹페이지 접속이 잘되지만,
3개의 DB중에 1개의 DB정보를 잘못 수정한 경우 (운영 중에 타서버의 DB가 다운되었을 경우를 대비해서)에는
웹페이지 접속이 되지 않고 에러페이지로 처리됩니다.
제가 생각했을 때에는 잘못 입력된 DB정보를 사용하는 화면에서 뭔가 DB조회나 액션을 취했을 때에만
오류가 나야하는게 아닌가 싶은데요. 확인부탁드립니다.
수고하십시오.
A
안녕하세요 한영수님,
표준프레임워크센터입니다.
보내주신 내용으로 보아 context-transaction.xml에서 aop config에 트랜잭션들이
단일 execution에 모아져 있어서 발생하는 문제로 보여집니다.
아래 다중 db에 대한 예제를 첨부하오니 참고하시고(예제 또한 aop가 트랜잭션 매니저별로 분리되어있음)
https://www.egovframe.go.kr/cop/bbs/selectBoardArticle.do?nttId=776&bbsId=BBSMSTR_000000000001&menu=7
참고로 aop config에서 트랜잭션별로 분리하는 것은 업무적인 것도 확인하시고 진행하시면 될 것 같습니다.
감사합니다.
표준프레임워크센터입니다.
보내주신 내용으로 보아 context-transaction.xml에서 aop config에 트랜잭션들이
단일 execution에 모아져 있어서 발생하는 문제로 보여집니다.
아래 다중 db에 대한 예제를 첨부하오니 참고하시고(예제 또한 aop가 트랜잭션 매니저별로 분리되어있음)
https://www.egovframe.go.kr/cop/bbs/selectBoardArticle.do?nttId=776&bbsId=BBSMSTR_000000000001&menu=7
참고로 aop config에서 트랜잭션별로 분리하는 것은 업무적인 것도 확인하시고 진행하시면 될 것 같습니다.
감사합니다.