트랜잭션 관련 답변 확인 후 재질문..
- 작성자 :
- 문*덕
- 작성일 :
- 2015-09-25 14:19:31
- 조회수 :
- 897
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요..
답변의 위키 링크는 확인하였습니다..
직접 적용은 따로 혼자해봐야 할듯해서..
답변은 계속 기다렸던지라 위키 내용보고
간단히 질의 드립니다.
즉 impl에서 try~ catch 하는 부분에서
leaveTrace 해주면(후처리 로직)
excetion 발생시에 db가 롤백되고
비지니스가 처리된다는 것이죠?
후처리 로직이 없으면
try~catch가 없을 땐
프리젠테이션 레이어까지 exception을 던져서
빈화면이 보이고 롤백이되며
try~catch가 있을 땐(catch에서 로그만 남긴다면)
exception을 로그를 남기고
트랜잭션이 정상처리되어 롤백이 아닌 정상처리로
비지니스가 처리된다는 것인가요?
답변의 위키 링크는 확인하였습니다..
직접 적용은 따로 혼자해봐야 할듯해서..
답변은 계속 기다렸던지라 위키 내용보고
간단히 질의 드립니다.
즉 impl에서 try~ catch 하는 부분에서
leaveTrace 해주면(후처리 로직)
excetion 발생시에 db가 롤백되고
비지니스가 처리된다는 것이죠?
후처리 로직이 없으면
try~catch가 없을 땐
프리젠테이션 레이어까지 exception을 던져서
빈화면이 보이고 롤백이되며
try~catch가 있을 땐(catch에서 로그만 남긴다면)
exception을 로그를 남기고
트랜잭션이 정상처리되어 롤백이 아닌 정상처리로
비지니스가 처리된다는 것인가요?
A
안녕하세요. 표준프레임워크센터입니다.
말씀하신 내용이 맞습니다.
서비스단에서 try catch로 감싸서 처리하시면, 서비스단에서 예외처리가 끝난 것으로 간주하여, 상위 클래스인 컨트롤러에서 예외로 인식하지 않습니다.
따라서 leaveTrace를 사용하셔서 처리하시거나, 어노테이션 또는 프로그램에 의한 트랜잭션으로 처리합니다.
어노테이션 또는 프로그램에 의한 트랜잭션은 하단 링크를 참조해보시길 바랍니다.
http://syaku.tistory.com/269
감사합니다.
말씀하신 내용이 맞습니다.
서비스단에서 try catch로 감싸서 처리하시면, 서비스단에서 예외처리가 끝난 것으로 간주하여, 상위 클래스인 컨트롤러에서 예외로 인식하지 않습니다.
따라서 leaveTrace를 사용하셔서 처리하시거나, 어노테이션 또는 프로그램에 의한 트랜잭션으로 처리합니다.
어노테이션 또는 프로그램에 의한 트랜잭션은 하단 링크를 참조해보시길 바랍니다.
http://syaku.tistory.com/269
감사합니다.