데이터 갱신 문제
- 작성자 :
- 김*경
- 작성일 :
- 2014-08-12 16:02:20
- 조회수 :
- 632
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요. 스프링 프레임워크를 공부하고 있는 학생입니다.
전자정부 표준프레임워크 관련 질문이 아니라 스프링 프레임워크 관련 질문인데,
담당자분께서 자주 확인하시고 답변을 빨리 해주시는거 같아 혹시나 하는 마음에 여쭤볼게요.
현재 스프링 버전 3.1 환경에서 웹 앱을 개발중입니다.
mybatis를 이용하며, 두 개 이상의 디비와 연동하고 있습니다.
그런데 서버에 war 파일을 Deploy 했을 때 해당 시점의 데이터까지 자동으로 저장이 되는건지..
DB에서 데이터의 값에 변화가 있을 경우에 자동으로 반영이 되지 않고,
DB가 죽어 Access 가 되지 않는 상황에서도 그 데이터 그대로 정상 동작합니다.
로컬에서 동작할 때는 정상적으로 수정된 DB값이 즉각 반영이 되고요.. 문제가 없는데
서버에 deploy 했을 경우에만 이런 문제가 발생합니다.
어떤 이유 때문인지 해결 방법이 있는지 알고 싶습니다.
설정파일 첨부하였습니다.
문제를 파악하기 위해 다른 정보가 필요하시면 알려주세요
답변부탁드릴게요!
전자정부 표준프레임워크 관련 질문이 아니라 스프링 프레임워크 관련 질문인데,
담당자분께서 자주 확인하시고 답변을 빨리 해주시는거 같아 혹시나 하는 마음에 여쭤볼게요.
현재 스프링 버전 3.1 환경에서 웹 앱을 개발중입니다.
mybatis를 이용하며, 두 개 이상의 디비와 연동하고 있습니다.
그런데 서버에 war 파일을 Deploy 했을 때 해당 시점의 데이터까지 자동으로 저장이 되는건지..
DB에서 데이터의 값에 변화가 있을 경우에 자동으로 반영이 되지 않고,
DB가 죽어 Access 가 되지 않는 상황에서도 그 데이터 그대로 정상 동작합니다.
로컬에서 동작할 때는 정상적으로 수정된 DB값이 즉각 반영이 되고요.. 문제가 없는데
서버에 deploy 했을 경우에만 이런 문제가 발생합니다.
어떤 이유 때문인지 해결 방법이 있는지 알고 싶습니다.
설정파일 첨부하였습니다.
문제를 파악하기 위해 다른 정보가 필요하시면 알려주세요
답변부탁드릴게요!
A
안녕하세요. 김영경님.
일단 war 배포시에 데이터가 저장되는 형태가 아니라, 실제 서비스가 호출되는 시점에 DBMS로부터 데이터를 조회하는 방식입니다.
다만, MyBatis 상의 cache 설정에 의해 현재와 같은 현상이 발생하실 수 있을 것 같습니다.
(cache 적용 여부는 각 mapper xml 파일 상의 <cache/> 가 추가되어 있는지 확인)
cache가 설정된 경우에는 기본적인 설정에 의해 select 결과가 cache되고, insert/update/delete 처리 시 flush 처리가 됩니다.
이 경우 외부에 의해 데이터 변경에 대해서 일시적으로 변경된 데이터가 반영되지 않는 경우가 발생할 수 있습니다.
이 경우 우선 cache를 사용하지 않도록 <cache/> 설정을 제거하신 후에 확인해 보시면 되실 것 같습니다.
또 하나의 경우는 DBMS 연결 설정이 잘못되어 다른 데이터를 참조하시는 경우일 수도 있으나, 실제 배포된 시스템 상에 연결정보를 확인해 보십시오.
그럼, 즐거운 하루되십시오.
감사합니다.
일단 war 배포시에 데이터가 저장되는 형태가 아니라, 실제 서비스가 호출되는 시점에 DBMS로부터 데이터를 조회하는 방식입니다.
다만, MyBatis 상의 cache 설정에 의해 현재와 같은 현상이 발생하실 수 있을 것 같습니다.
(cache 적용 여부는 각 mapper xml 파일 상의 <cache/> 가 추가되어 있는지 확인)
cache가 설정된 경우에는 기본적인 설정에 의해 select 결과가 cache되고, insert/update/delete 처리 시 flush 처리가 됩니다.
이 경우 외부에 의해 데이터 변경에 대해서 일시적으로 변경된 데이터가 반영되지 않는 경우가 발생할 수 있습니다.
이 경우 우선 cache를 사용하지 않도록 <cache/> 설정을 제거하신 후에 확인해 보시면 되실 것 같습니다.
또 하나의 경우는 DBMS 연결 설정이 잘못되어 다른 데이터를 참조하시는 경우일 수도 있으나, 실제 배포된 시스템 상에 연결정보를 확인해 보십시오.
그럼, 즐거운 하루되십시오.
감사합니다.