트랜잭션 관련 질문드립니다.
- 작성자 :
- 김*균
- 작성일 :
- 2016-03-10 10:27:50
- 조회수 :
- 929
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
질문내용은 text 파일로 첨부파엿고
자바 ServiceImpl.java 메소드느 다음과 같이
정의하였습니다
@Override
@Transactional(rollbackFor={Exception.class},propagation=Propagation.SUPPORTS)
public int insertData(MgntStudyDataVO vo) throws Exception {
// TODO Auto-generated method stub
resultCount = dataAccessDAO.update("MgntStudyDataService.insertData", vo); //1번 insert
dataAccessDAO.insert("MgntStudyDataService.insertDataAtch",atchMap);//2번 insert
result++;
}
}
return resultCount;
}
자바 ServiceImpl.java 메소드느 다음과 같이
정의하였습니다
@Override
@Transactional(rollbackFor={Exception.class},propagation=Propagation.SUPPORTS)
public int insertData(MgntStudyDataVO vo) throws Exception {
// TODO Auto-generated method stub
resultCount = dataAccessDAO.update("MgntStudyDataService.insertData", vo); //1번 insert
dataAccessDAO.insert("MgntStudyDataService.insertDataAtch",atchMap);//2번 insert
result++;
}
}
return resultCount;
}
A
안녕하세요. 표준프레임워크센터입니다.
현재 전체 소스가 아니라 세부적으로 원인을 분석하기 어렵지만, 현재 설정하신 내용 외에 몇가지 사항들을 한번 나열해 보겠으니 참고해보시기 바랍니다.
component-scan의 설정 : root context와 servlet context로 계층구조로 설정을 했을 경우, component-scan의 설정을
context-servlet에서만 처리하였을 경우 트랜잭션이 정상적으로 발생하지 않을 수 있습니다.
상세 내용은 하단링크를 참조하시기 바랍니다.
http://bumsgy-innori.tistory.com/tag/%EC%8A%A4%ED%94%84%EB%A7%812.5%EC%84%A4%EC%A0%95
두번째는 현재 AOP 트랜잭션과 어노테이션 트랜잭션을 혼합해서 적용하셨는데, AOP트랜잭션이 먼저 적용되어 해당 메소드에 @transactional 트랜잭션이 적용되지 않을수도 있습니다.
AOP 선언적 트랜잭션과 @transactional과 혼합해서 사용하는 예제는 하단 링크를 참조해보시기 바랍니다.
https://gist.github.com/rponte/3181934
위의 사항 외에 몇가지 원인이 있을 수 있으니 설정부분을 재 확인 해보시고 테스트를 진행해 보시기 바랍니다.
감사합니다.
현재 전체 소스가 아니라 세부적으로 원인을 분석하기 어렵지만, 현재 설정하신 내용 외에 몇가지 사항들을 한번 나열해 보겠으니 참고해보시기 바랍니다.
component-scan의 설정 : root context와 servlet context로 계층구조로 설정을 했을 경우, component-scan의 설정을
context-servlet에서만 처리하였을 경우 트랜잭션이 정상적으로 발생하지 않을 수 있습니다.
상세 내용은 하단링크를 참조하시기 바랍니다.
http://bumsgy-innori.tistory.com/tag/%EC%8A%A4%ED%94%84%EB%A7%812.5%EC%84%A4%EC%A0%95
두번째는 현재 AOP 트랜잭션과 어노테이션 트랜잭션을 혼합해서 적용하셨는데, AOP트랜잭션이 먼저 적용되어 해당 메소드에 @transactional 트랜잭션이 적용되지 않을수도 있습니다.
AOP 선언적 트랜잭션과 @transactional과 혼합해서 사용하는 예제는 하단 링크를 참조해보시기 바랍니다.
https://gist.github.com/rponte/3181934
위의 사항 외에 몇가지 원인이 있을 수 있으니 설정부분을 재 확인 해보시고 테스트를 진행해 보시기 바랍니다.
감사합니다.