트랜잭션 관련..
- 작성자 :
- 문*덕
- 작성일 :
- 2015-09-24 01:51:26
- 조회수 :
- 1,082
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요..
전자정부 3.0 입니다.
샘플예제에 있는 AOP 를 통한 트랜잭션 관리부분에서..
rollback-for="Exception" 처리 되어 있습니다.
그런데..처음에는 Impl 메서드에서 Exception 발생시에 정상적으로 롤백이 되는 것을 확인하였습니다.
Exception 처리 페이지를 사용안하다보니 비어있는 페이지가 노출되었습니다.
그런데 화면이 안보이니 이상해서 Impl 안에서 try~catch 문을 통해서 Exception을 print 하고
Impl을 정상적으로 통과시켜 컨트롤러까지 돌아오도록 설정하였더니
롤백이 되지 않네요..
물론 catch 문에서 throw 를 RuntimeException 이나 Exception 하게 되면
롤백이 되면서 비어있는 페이지가 보입니다.
전자정부프레임워크 샘플 예제를 보아도 Impl 메서드 안에서 try~catch를 처리하지 않고
Exception 이 발생하면 롤백하고 에러페이지로 이동하는 것으로 알고 있습니다.
제가 착각해서 이런 생각을 하는지는 모르겠지만..
Impl에서 Exception을 로그를 통해서 보여주고 대신 Impl이 진행되어 컨트롤러로 리턴하게 할 경우
어쨋든 Excepion이 발생하였으니 롤백은 하되 화면은 보여주도록 하자(롤백된 원래 데이터)
는 것은 원래 안되는 것인가요?
제 추측에는.. Impl단에서 에러가 발생해서 트랜잭션매니저가 작동하고 롤백후에 설정된 에러페이지로 이동된다.
즉 Impl에서 컨트롤러로 정상진행 된다는 자체가 트랜잭션이 정상 처리되어서 롤백이 되지 않는 것이 아닐런지..
간단히 말해 Impl에서 Exception이 발생하면 로그는 남기되 롤백시키고 컨트롤러로 리턴된다..
는 것을 하려면 어떻게 해야할까요?
소스로 질의 하지 못해서 죄송합니다..
전자정부 3.0 입니다.
샘플예제에 있는 AOP 를 통한 트랜잭션 관리부분에서..
rollback-for="Exception" 처리 되어 있습니다.
그런데..처음에는 Impl 메서드에서 Exception 발생시에 정상적으로 롤백이 되는 것을 확인하였습니다.
Exception 처리 페이지를 사용안하다보니 비어있는 페이지가 노출되었습니다.
그런데 화면이 안보이니 이상해서 Impl 안에서 try~catch 문을 통해서 Exception을 print 하고
Impl을 정상적으로 통과시켜 컨트롤러까지 돌아오도록 설정하였더니
롤백이 되지 않네요..
물론 catch 문에서 throw 를 RuntimeException 이나 Exception 하게 되면
롤백이 되면서 비어있는 페이지가 보입니다.
전자정부프레임워크 샘플 예제를 보아도 Impl 메서드 안에서 try~catch를 처리하지 않고
Exception 이 발생하면 롤백하고 에러페이지로 이동하는 것으로 알고 있습니다.
제가 착각해서 이런 생각을 하는지는 모르겠지만..
Impl에서 Exception을 로그를 통해서 보여주고 대신 Impl이 진행되어 컨트롤러로 리턴하게 할 경우
어쨋든 Excepion이 발생하였으니 롤백은 하되 화면은 보여주도록 하자(롤백된 원래 데이터)
는 것은 원래 안되는 것인가요?
제 추측에는.. Impl단에서 에러가 발생해서 트랜잭션매니저가 작동하고 롤백후에 설정된 에러페이지로 이동된다.
즉 Impl에서 컨트롤러로 정상진행 된다는 자체가 트랜잭션이 정상 처리되어서 롤백이 되지 않는 것이 아닐런지..
간단히 말해 Impl에서 Exception이 발생하면 로그는 남기되 롤백시키고 컨트롤러로 리턴된다..
는 것을 하려면 어떻게 해야할까요?
소스로 질의 하지 못해서 죄송합니다..
A
안녕하세요. 표준프레임워크센터입니다.
하단의 Exception Handling 위키내용을 참조해보시길 바랍니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:bsl:exception_handling&s[]=trace
감사합니다.
하단의 Exception Handling 위키내용을 참조해보시길 바랍니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:bsl:exception_handling&s[]=trace
감사합니다.