다중 datasource 구성 후 간헐적 에러 발생
- 작성자 :
- 이*원
- 작성일 :
- 2024-12-03 14:55:02
- 조회수 :
- 80
- 구분 :
- 개발환경 / 3.6
- 진행상태 :
- 완료
Q
안녕하세요
전자정부프레임워크 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);
}
전자정부프레임워크 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
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
해당 상황에 대해 상세한 정보가 제공되지 않아
명확한 원인을 특정할 수는 없지만,
SqlMapClient를 동적으로 변경되도록 설정하였다면
여러 쓰레드가 동시에 접근했을 때 동시성 문제가 발생하여 올바른 데이터 소스를 선택하지 못하거나
서로 다른 쓰레드가 동일한 SqlMapClient를 공유하면서 문제가 발생하는 것으로 예상됩니다.
각 데이터 소스에 대해 SqlMapClient를 분리 되도록 설계하여
여러 쓰레드가 동시에 작업하더라도 독립적으로 처리되도록
수정하여 보시기 바랍니다.
감사합니다.
표준프레임워크 센터입니다.
해당 상황에 대해 상세한 정보가 제공되지 않아
명확한 원인을 특정할 수는 없지만,
SqlMapClient를 동적으로 변경되도록 설정하였다면
여러 쓰레드가 동시에 접근했을 때 동시성 문제가 발생하여 올바른 데이터 소스를 선택하지 못하거나
서로 다른 쓰레드가 동일한 SqlMapClient를 공유하면서 문제가 발생하는 것으로 예상됩니다.
각 데이터 소스에 대해 SqlMapClient를 분리 되도록 설계하여
여러 쓰레드가 동시에 작업하더라도 독립적으로 처리되도록
수정하여 보시기 바랍니다.
감사합니다.