인프런 커뮤니티 질문&답변

13months님의 프로필 이미지

작성한 질문수

스프링 DB 2편 - 데이터 접근 활용 기술

스프링 트랜잭션 전파4 - 전파 예제

커밋 순서를 바꾸면 안 되나요?

22.09.15 17:35 작성

·

448

3

log.info("외부 트랜잭션 커밋");
txManager.commit(outer);

log.info("내부 트랜잭션 커밋");
txManager.commit(inner);

 

논리 트랜잭션들이 모두 커밋돼야 물리 트랜잭션이 커밋돼야합니다.

 

그런데, 위처럼 순서를 바꿔서 진행해봤는데 외부 트랜잭션 커밋 로그 이후 바로 내부 트랜잭션 커밋 로그가 나오지 않고 데이터베이스에 접근하는것 같은 로그가 나옵니다.

 

내부 - 외부 순서대로 커밋해야 정상적으로 작동하는건가요?

 

감사합니다.

답변 2

2

13months님의 프로필 이미지
13months
질문자

2022. 09. 16. 14:16

0

김승현님의 프로필 이미지

2023. 08. 01. 18:33

트랜젝션 전파 부분을 보시면 아시겠지만

외부를 커밋을 해버리면 물리적 커넥션 자체를 다 그냥 커밋해버리는거라... 내부 커밋이 아마 안될겁니다.

기실, 내부 커넥션을 커밋해버리면 그냥 내부적으로 존재하는 세이브포인트에 아 이 내부 트렌잭션 정상적으로 완료됬다고 찍히는 것으로만 알고 있습니다.

 

도움되셨으면 좋겠읍니다

13months님의 프로필 이미지

작성한 질문수

질문하기