서비스(impl)에서 commit방식 문의
- 작성자 :
- 안*태
- 작성일 :
- 2017-01-24 10:52:02
- 조회수 :
- 995
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요. 전자정보프레임워크로 개발된 시스템을 운영중인 개발자입니다.
commit 처리에 대해서 궁금한 사항이 있어서 문의드립니다.
1. controller 에서 service 호출
2. service inpl에서 반복적으로 프로시져 호출
3. 2번에서 수행중인 service에서 다른 로직을 실행중에 exception이 발생하여 try catch로 처리 후 controller에 결과 리턴
controller
│
│
│impl(service)
││
││for(반복문){
││ │
││ try{
││ 프로시져호출(성공, 성공, 실패) - Dao쿼리호출
││ }
││ catch{
││ retrun 처리
││ }
││}
│
이렇게 될경우 impl에서 반복문을 사용하여 n번은 성공하고 어느순간 Exception이 날경우
앞에서 성공한 데이터는 모두 RollBack되는건가요?
아니면 RollBack이 안된다면 강제로 RollBack시키는 방법이 있나요?
commit 처리에 대해서 궁금한 사항이 있어서 문의드립니다.
1. controller 에서 service 호출
2. service inpl에서 반복적으로 프로시져 호출
3. 2번에서 수행중인 service에서 다른 로직을 실행중에 exception이 발생하여 try catch로 처리 후 controller에 결과 리턴
controller
│
│
│impl(service)
││
││for(반복문){
││ │
││ try{
││ 프로시져호출(성공, 성공, 실패) - Dao쿼리호출
││ }
││ catch{
││ retrun 처리
││ }
││}
│
이렇게 될경우 impl에서 반복문을 사용하여 n번은 성공하고 어느순간 Exception이 날경우
앞에서 성공한 데이터는 모두 RollBack되는건가요?
아니면 RollBack이 안된다면 강제로 RollBack시키는 방법이 있나요?
A
안녕하세요.
표준프레임워크 센터 입니다.
앞에서 성공한 데이터는 모두 RollBack되는건가요?
> try....catch시 commit 되는것으로 알고 있습니다.
아니면 RollBack이 안된다면 강제로 RollBack시키는 방법이 있나요?
> <aop:config proxy-target-class=”true”> 설정된 상태에서 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();를 이용하여 rollback 가능합니다.
감사합니다.
표준프레임워크 센터 입니다.
앞에서 성공한 데이터는 모두 RollBack되는건가요?
> try....catch시 commit 되는것으로 알고 있습니다.
아니면 RollBack이 안된다면 강제로 RollBack시키는 방법이 있나요?
> <aop:config proxy-target-class=”true”> 설정된 상태에서 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();를 이용하여 rollback 가능합니다.
감사합니다.