Transaction 설정 관련
- 작성자 :
- 이*호
- 작성일 :
- 2016-06-15 10:49:29
- 조회수 :
- 1,311
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요
eGovFramework를 이용하여 개발을 진행하는 과정에서 Transaction이 정상적으로 동작하지 않아 문의드립니다.
수동으로(프로그램에서 직접) Transaction을 처리하면 정상동작 합니다.
하지만 Annotation을 이용하여 Transaction 처리를 하려고 하면 정상적으로 동작을 하지 않습니다.(Transaction이 반영되지 않음)
(DAO 딴에서 바로 Commit 처리가 되어 버립니다.)
DB는 Tibero를 사용중입니다.
해당 설정 및 소스는 txt파일로 첨부합니다.
그럼 해당내용에 대한 확인 부탁드립니다.
감사합니다.
eGovFramework를 이용하여 개발을 진행하는 과정에서 Transaction이 정상적으로 동작하지 않아 문의드립니다.
수동으로(프로그램에서 직접) Transaction을 처리하면 정상동작 합니다.
하지만 Annotation을 이용하여 Transaction 처리를 하려고 하면 정상적으로 동작을 하지 않습니다.(Transaction이 반영되지 않음)
(DAO 딴에서 바로 Commit 처리가 되어 버립니다.)
DB는 Tibero를 사용중입니다.
해당 설정 및 소스는 txt파일로 첨부합니다.
그럼 해당내용에 대한 확인 부탁드립니다.
감사합니다.
A
이용호님, 안녕하세요.
첨부해주신 설정파일만을 가지고 전체적인 트랜잭션을 확인하기는 어려운 부분으로 사료됩니다.
전체적인 설정에 별다른 문제는 없어보입니다만,
Annotation을 이용한 방법(@Transactional)이 제대로 되지 않을 경우 aop를 이용한 방법도 테스트 해보시기 바랍니다.
예시)
<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" timeout="180"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="requiredTx"
expression="execution(* egovframework.com..impl.*Impl.*(..)) or
execution(* egovframework.rte.fdl.excel.impl.*Impl.*(..)) "/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" />
<aop:advisor advice-ref="txAdviceAbc" pointcut-ref="requiredTx" />
</aop:config>
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:aop:egovrteaopguide
감사합니다.
첨부해주신 설정파일만을 가지고 전체적인 트랜잭션을 확인하기는 어려운 부분으로 사료됩니다.
전체적인 설정에 별다른 문제는 없어보입니다만,
Annotation을 이용한 방법(@Transactional)이 제대로 되지 않을 경우 aop를 이용한 방법도 테스트 해보시기 바랍니다.
예시)
<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" timeout="180"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="requiredTx"
expression="execution(* egovframework.com..impl.*Impl.*(..)) or
execution(* egovframework.rte.fdl.excel.impl.*Impl.*(..)) "/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" />
<aop:advisor advice-ref="txAdviceAbc" pointcut-ref="requiredTx" />
</aop:config>
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:aop:egovrteaopguide
감사합니다.