메뉴 건너띄기
주메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

다중 DB커넥션 운영중 1개의 DB가 죽었을 경우 전체시스템 안되는 문제
  • 작성자

    김*현

  • 작성일

    2012-11-23 11:04:44

  • 조회수

    1,656

  • 구분

    실행환경

  • 진행상태

    완료

질문

안녕하세요.

저희 시스템은 다중 DB를 사용하고 있습니다.
datasource, sqlmap, transaction xml 및 DAO를 생성해서 쓰고있는데요.

여려개의 DB 중 1개의 DB가 죽으면 전체 시스템이 안되는 문제가 있습니다.

WAS를 띄울 때 오류가 나는건 알겠는데. 운영 중 DB 1개가 죽었을 경우 전체적으로 안돼서요.

context-transaction.xml에 트랜잭션이 잡혀있어서 ServiceImpl 메소드
들어갈 때 트랜잭션을 잡으니까 전체적으로 안되는거 같습니다.

트랜잭션으로 잡을 필요가 없는 DB가 죽어도 사용하는 프로그램만 안되게 하는
설정이나 프로그래밍이 있는지 궁금합니다.

context-transaction.xml 에서 ServiceImpl 메소드 들어갈 때 트랜잭션 안잡히게만 하면 되는건지도 궁금하구요.

이상 입니다. 감사합니다.

답변

안녕하세요.. 김대현님..

트랜잭션 관리가 필요 없으신 경우라면.. context-transaction.xml에서.. transaction이 필요한 하나의 DB에 대한 TransactionManager를 지정하시면 되실 것 같습니다.

2개 이상이 transaction이 묶여야 하면.. transaction이 묶여야 할 DB에 대한 것은 WAS에서 생성하셔서.. JTATransactionManager를 사용하셔야 합니다..

필요없는 것은.. 별로도 DBCP와 같이 것으로 정의하셔야 할 것 같구요.. (WAS에서 생성하시면.. JTA로 같이 묶이기 때문)

그럼.. 즐거운 하루되십시오.
감사합니다.

이 페이지의 구성

묻고 답하기