메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

Transaction 재질문 드립니다.
  • 작성자

    연*훈

  • 작성일

    2013-03-19 14:06:59

  • 조회수

    1,455

  • 구분

    개발환경

  • 진행상태

    완료

질문

//////////////// context-transaction.xml ///////////////////////

<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" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>

<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(* kr.*..impl.*Impl.*(..))" />
</aop:config>



//////////////// context-datasource.xml ///////////////////////

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@//172.30.1.150:1521/xxxx"/>
<property name="username" value="xxxxx"/>
<property name="password" value="xxxxx"/>
</bean>


////////////////////////////////////////////////////////////////////////////////////////////////////

설정은 위와 같습니다. 그런데 transaction이 잡히질 안네요.

테스트 방법 : 똑같은 쿼리를 두번 실행 -> 무결성 제약 조건
-> 데이터 확인 결과 하나에 데이터가 들어가 있는 상태


테스트한 실제 serviceImpl 패키지 : kr.or.xxx.xtest.admi.service.impl.CodeServiceImpl

설정에 뭐가 문제가 있을까요?

아님 serviceImpl에 @Transactional 어노테이션을 지정해야 하나요?
(해봤지만 되지 않았음....)


말 씀하신대로 web.xml을 확인해봤지만.

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value> classpath*:egovframework/spring/context-*.xml
</param-value>
</context-param>
제대로 잡혀있는거 같습니다.
서버부팅시 로그에도 context-transaction.xml이 찍히고요.

DAO에는 EgovAbstractDAO를 상속 받아 쓰고 있습니다.

다른 문제는 없을까요? 답변 부탁드립니다.ㅠㅠ

답변

안녕하세요. 연승훈님
execution(* kr..impl.*Impl.*(..)) 로 변경해 보시기 바랍니다.
고맙습니다.

이 페이지의 구성

묻고 답하기