transaction 처리???
- 작성자 :
- 작성일 :
- 2009-09-22 19:21:19
- 조회수 :
- 4,041
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
수고하십니다.
한번에 3개 테이블에 insert하고 2개 테이블에 delete하는 업무가 있습니다.
Controller에서 각각 서비스 파일을 호출해 처리를 하는데... 이슈사항은 하나의 transaction으로 처리가 되지 않는다는 것입니다.
Controller단의 code snippet은 아래와 같습니다.
--아래--
...중략
aService.insertA(aVO);
bService.insertB(bVO);
cService.insertC(cVO);
dService.deleteD(dVO);
eService.deleteE(eVO);
...중략
transaction관련 xml파일의 내용은 아래처럼 되어 있습니다.
...중략
<aop:config>
<aop:pointcut id="requiredTx"
expression="execution(* com.decs..impl.*Impl.*(..))"/>
<aop:advisor advice-ref="txAdvice"
pointcut-ref="requiredTx"/>
</aop:config>
설정내용으로 보면 Impl단위로 transaction이 처리되는것 같네요.
어떻게 하면 Controller단에서 한 transaction으로 처리할 수 있을까요?
그럼, 수고하세요...
한번에 3개 테이블에 insert하고 2개 테이블에 delete하는 업무가 있습니다.
Controller에서 각각 서비스 파일을 호출해 처리를 하는데... 이슈사항은 하나의 transaction으로 처리가 되지 않는다는 것입니다.
Controller단의 code snippet은 아래와 같습니다.
--아래--
...중략
aService.insertA(aVO);
bService.insertB(bVO);
cService.insertC(cVO);
dService.deleteD(dVO);
eService.deleteE(eVO);
...중략
transaction관련 xml파일의 내용은 아래처럼 되어 있습니다.
...중략
<aop:config>
<aop:pointcut id="requiredTx"
expression="execution(* com.decs..impl.*Impl.*(..))"/>
<aop:advisor advice-ref="txAdvice"
pointcut-ref="requiredTx"/>
</aop:config>
설정내용으로 보면 Impl단위로 transaction이 처리되는것 같네요.
어떻게 하면 Controller단에서 한 transaction으로 처리할 수 있을까요?
그럼, 수고하세요...
A
안녕하세요.. aha1492님
일단.. 설정에 의해 Service단위(정확히는 *Impl로 끝나는 클래스의 ServiceImple부분에서 지정)로 transaction 영역이 설정됩니다..
즉 Controller에서 Service를 여러 번 호출하면 서로 transaction이 묶이지 않습니다.
이런 경우는 3개의 Service를 묶어 호출하는 새로운 Service 및 ServiceImpl을 만드시고 이 ServiceImpl에서 원래의 3개 Service를 호출하는 구조로 변경하시면 됩니다. 당연히 Controller에서는 새롭게 만든 Service를 한번만 호출하시면 되시구요..
그럼.. 남은 하루도 즐거운 하루 되십시오..
감사합니다.
일단.. 설정에 의해 Service단위(정확히는 *Impl로 끝나는 클래스의 ServiceImple부분에서 지정)로 transaction 영역이 설정됩니다..
즉 Controller에서 Service를 여러 번 호출하면 서로 transaction이 묶이지 않습니다.
이런 경우는 3개의 Service를 묶어 호출하는 새로운 Service 및 ServiceImpl을 만드시고 이 ServiceImpl에서 원래의 3개 Service를 호출하는 구조로 변경하시면 됩니다. 당연히 Controller에서는 새롭게 만든 Service를 한번만 호출하시면 되시구요..
그럼.. 남은 하루도 즐거운 하루 되십시오..
감사합니다.