eGovFrame 표준프레임워크 포털

메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

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

본문 영역

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

묻고 답하기

다중 datasource 구성 후 간헐적 에러 발생
  • 작성자

    이*원

  • 작성일

    2024-12-03 14:55:02

  • 조회수

    248

  • 구분

    개발환경 / 3.6

  • 진행상태

    완료

질문

안녕하세요
전자정부프레임워크 3.6 버전으로
mysql을 master , slave 로 다중 datasource 로 사용하고있습니다.

현재 쿼리 호출시 dao에서 super.setSuperSqlMapClient() 을 datasource를 master 또는 slave로 사용하게 되어있습니다.

위와 같이 쿼리 마다 master , salve 로 datasource를 지정하여 사용하고 있는데 접속자 수가 많아지는 시간때에 가끔씩 master로 설정되어있음에도 불구하고 slave로 붙는 현상이 나오고 있는데 이를 해결할수있는 방법이 있을까요?

public void insertLoginHistory(MBPUserVO vo) {
SqlMapClient sqlMapClient SelectSqlMap.selectSqlMap(SqlMapClientConstant .ACTIVE_SOLMAP_CLIENT):
super : sstSuperSglMapclient (sgihapmlisnt):
insert ("MBPUserDAO.insertLoginHistoty", vo);
}

환경정보
    - OS 정보 :
    - 표준프레임워크 버전 :
    - JDK(JRE) 정보 : 1.7.0_79
    - WAS 정보 : tomcat 7.0.94
    - DB 정보 : mysql 8.0.21
    - 기타 환경 정보 :
답변

안녕하세요.
표준프레임워크 센터입니다.

해당 상황에 대해 상세한 정보가 제공되지 않아
명확한 원인을 특정할 수는 없지만,
SqlMapClient를 동적으로 변경되도록 설정하였다면
여러 쓰레드가 동시에 접근했을 때 동시성 문제가 발생하여 올바른 데이터 소스를 선택하지 못하거나
서로 다른 쓰레드가 동일한 SqlMapClient를 공유하면서 문제가 발생하는 것으로 예상됩니다.

각 데이터 소스에 대해 SqlMapClient를 분리 되도록 설계하여
여러 쓰레드가 동시에 작업하더라도 독립적으로 처리되도록
수정하여 보시기 바랍니다.

감사합니다.

이 페이지의 구성

묻고 답하기