Controller에서 Exception발생시 transaction rollback 시키기
- 작성자 :
- 구*웅
- 작성일 :
- 2010-02-19 15:25:10
- 조회수 :
- 4,485
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
작업을 하다보면 Controller에서 Exception이 일어나는 경우가 있습니다.
예를 들어
1. 사용자 정보 등록 Service호출 - Insert..
2. 업무별 로직 분기 처리
3. 업무별 부가정보 등록 Service호출 - Insert..
이렇게 3단계를 거치는 Controller에서
2번 업무별 로직 분기처리에서 Exception이 발생시
1번에서 Insert시켰던 내용을 rollback시키고 싶은데
어떻게 처리해야 처리가 되나요?
예를 들어
1. 사용자 정보 등록 Service호출 - Insert..
2. 업무별 로직 분기 처리
3. 업무별 부가정보 등록 Service호출 - Insert..
이렇게 3단계를 거치는 Controller에서
2번 업무별 로직 분기처리에서 Exception이 발생시
1번에서 Insert시켰던 내용을 rollback시키고 싶은데
어떻게 처리해야 처리가 되나요?
A
안녕하세요.. 구본웅님..
Controller의 경우 AOP로 지정이 되더라도 ExceptionResolver 등에 의해 Exception이 AOP 부분으로 전달되기 않기 때문에
Transaction 처리가 되지 않습니다.
즉.. Controller가 아닌 Service(실제로 ServiceImpl)부분으로 로직을 묶어서 적용하시여 합니다..
위의 경우 1, 3번을 호출하는 별도의 서비스를 적용하셔서 1, 3번을 호출하시면 됩니다.
그럼. 즐거운 하루되십시오.
감사합니다.
Controller의 경우 AOP로 지정이 되더라도 ExceptionResolver 등에 의해 Exception이 AOP 부분으로 전달되기 않기 때문에
Transaction 처리가 되지 않습니다.
즉.. Controller가 아닌 Service(실제로 ServiceImpl)부분으로 로직을 묶어서 적용하시여 합니다..
위의 경우 1, 3번을 호출하는 별도의 서비스를 적용하셔서 1, 3번을 호출하시면 됩니다.
그럼. 즐거운 하루되십시오.
감사합니다.