선언적 트랜잭션 질문.
- 작성자 :
- 최*용
- 작성일 :
- 2012-07-20 09:17:58
- 조회수 :
- 2,076
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
안녕하세요.. 프레임웍 적용중에 있는데요..
트랜잭션을 적용하던도중 문제가 발생하여 질문합니다..
선언적 트랜잭션을 적용하고있습니다..
context-transaction.xml 에서
<tx:annotation-driven />
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="egov.dataSource"/>
</bean>
위와같이 선언을 해준뒤에
serviceImpl에서
@Transactional(propagation=Propagation.REQUIRED, rollbackFor={Exception.class,SQLException.class})
이렇게 처리해주었습니다.
그런데 excaption이 발생해도 그냥 커밋이됩니다...
위에적은것외에 또다른 설정이 있는지 궁금합니다..
그럼 오늘도 좋은하루되세요~
트랜잭션을 적용하던도중 문제가 발생하여 질문합니다..
선언적 트랜잭션을 적용하고있습니다..
context-transaction.xml 에서
<tx:annotation-driven />
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="egov.dataSource"/>
</bean>
위와같이 선언을 해준뒤에
serviceImpl에서
@Transactional(propagation=Propagation.REQUIRED, rollbackFor={Exception.class,SQLException.class})
이렇게 처리해주었습니다.
그런데 excaption이 발생해도 그냥 커밋이됩니다...
위에적은것외에 또다른 설정이 있는지 궁금합니다..
그럼 오늘도 좋은하루되세요~
A
안녕하세요.. 최진용님
우선.. 설정은 맞는 것 같습니다.
원래는 <tx:annotation-driven transaction-manager="txManager"/>와 같이.. transaction-manager를 지정하셔야 하나.. 생략하면.. 기본 값이.. transactionManager를 찾습니다...
serviceImpl에 사용하신 Propagation이나.. rollback for exception도.. 이상이 없으신 것 같습니다...
다만... 해당 serviceImpl을 호출하실 때에.. Injection 방식이 아니라.. 직접 new를 통해 생성하는 경우는 해당 transaction 처리가 되지 않는.. 이 경우에 해당되시는지 모르겠네요..
또는 Exception이 발생하였을 때에.. trace를 올려 주시면.. 추가적인 확인이 가능할 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.
우선.. 설정은 맞는 것 같습니다.
원래는 <tx:annotation-driven transaction-manager="txManager"/>와 같이.. transaction-manager를 지정하셔야 하나.. 생략하면.. 기본 값이.. transactionManager를 찾습니다...
serviceImpl에 사용하신 Propagation이나.. rollback for exception도.. 이상이 없으신 것 같습니다...
다만... 해당 serviceImpl을 호출하실 때에.. Injection 방식이 아니라.. 직접 new를 통해 생성하는 경우는 해당 transaction 처리가 되지 않는.. 이 경우에 해당되시는지 모르겠네요..
또는 Exception이 발생하였을 때에.. trace를 올려 주시면.. 추가적인 확인이 가능할 것 같습니다.
그럼.. 즐거운 하루되십시오.
감사합니다.