IT/Java
[전자정부프레임워크] 트랜젝션 관리
yeTi
2016. 6. 23. 14:25
안녕하세요. yeTi입니다.
오늘은 전자정부프레임워크에서 트랜젝션을 관리하는 방법에 대해 알아보겠습니다.
사용환경
전자정부프레임워크 : 3.5.1
- context-transaction.xml에 bean 설정
- <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="*" rollback-for="Exception"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="requiredTx" expression="execution(* com.ubist.platform.**..impl.*Impl.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" />
</aop:config> - 소스단에서 다음과 같이 사용
- 정의
- @Resource(name = "txManager")
protected DataSourceTransactionManager txManager; - 트랜젝션 시작
- DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus txStatus = txManager.getTransaction(def); - 트랜젝션 종료
- txManager.commit(txStatus); or txManager.rollback(txStatus);