작성
·
474
3
log.info("외부 트랜잭션 커밋");
txManager.commit(outer);
log.info("내부 트랜잭션 커밋");
txManager.commit(inner);
논리 트랜잭션들이 모두 커밋돼야 물리 트랜잭션이 커밋돼야합니다.
그런데, 위처럼 순서를 바꿔서 진행해봤는데 외부 트랜잭션 커밋 로그 이후 바로 내부 트랜잭션 커밋 로그가 나오지 않고 데이터베이스에 접근하는것 같은 로그가 나옵니다.
내부 - 외부 순서대로 커밋해야 정상적으로 작동하는건가요?
감사합니다.
답변 2
0
트랜젝션 전파 부분을 보시면 아시겠지만
외부를 커밋을 해버리면 물리적 커넥션 자체를 다 그냥 커밋해버리는거라... 내부 커밋이 아마 안될겁니다.
기실, 내부 커넥션을 커밋해버리면 그냥 내부적으로 존재하는 세이브포인트에 아 이 내부 트렌잭션 정상적으로 완료됬다고 찍히는 것으로만 알고 있습니다.
도움되셨으면 좋겠읍니다