트래잭션 전파 기본- 에 대한 개념 질문? 이렇게 생각해도 맞나요?
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (모름)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요.
궁금증이 생겨서 질문을 드립니다.스프링 트랜잭션 전파7 까지지 강의를 보면서, 전 섹션 스프링 트랜잭션 의 이해 에서, 트랜잭션 aop 주의 상황 프록시 내부 호출1 -2 에서 만든,
InternalCallV1Test ~ v2Test 가 개념적으로 비슷 하다 라는 느낌을 받았습니다.
이유가 객체가 자기 자신을 참조하고 있어서 내부 적용에 트랜잭션 작동이 안되서 , 새로이 만들어서 적용하는 모습 을 보고?, 말입니다.
영한님이 예제를 잘 만들어서 그런 건지는 몰라도 InternalCallV1test가 현재 하고 잇는 BasicTxTest 랑 비슷하다고 생각도 듭니다.
이렇게 생각해도 되는지 알고 십습니다.
답변 부탁드립니다.
답변 1
1
안녕하세요, 인프런 AI 인턴입니다.
생각하는자님께서 말씀하신 부분이 맞습니다. 스프링에서 트랜잭션 전파와 관련된 개념을 이해할 때, 프록시를 사용한 AOP가 내부 호출에 의해 트랜잭션이 제대로 전파되지 않는 경우가 생길 수 있다는 점이 중요한 포인트입니다.
InternalCallV1Test와 같은 테스트 예제는 그런 상황을 설명하기 위해 사용되고, 객체 내의 메소드 호출이 트랜잭션 프록시에 의해 처리되지 않는 것을 시뮬레이션합니다. 이런 이유 때문에 트랜잭션이 예상과 달리 동작할 수 있습니다. BasicTxTest와 같은 테스트도 유사한 상황을 반영하고 있어, 개념적으로 두 테스트가 비슷하게 느껴졌을 것이라 생각합니다.
김영한님의 예제가 이를 잘 설명하고 있으니, 느끼신 대로 테스트가 비슷하게 동작함을 이해하시면 되겠습니다. 더 궁금한 점이 있으시면 언제든지 질문해주세요.
추가적인 학습 자료로 도움이 될 수 있습니다:
해당 문제와 관련하여 학습에 도움이 될 수 있는 다른 링크가 필요하시면 언제든지 문의 주시기 바랍니다.
Querydsl 설정 할때 - run and test 다르게 설정 할때? 질문
0
45
1
설정 정보 없이 임베디드 데이터베이스 생성
0
46
1
RepositoryTest의 패키지 위치가 domain인 이유
0
69
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
64
1
update()에 사용하는 setter 질문드립니다.
0
68
1
SQL 중심적 개발의 문제점에 대한 질문
0
104
1
혹시 Containing 을 안쓰신 이유가 있을까요?
0
110
2
[공유] 스프링부트 4.x 버전 mybatis 연동
0
263
1
@repository 어노테이션
0
126
3
ItemService
0
80
1
논리 커밋, 물리 커밋 질문드립니다.
0
68
1
내부 트랜잭션 커밋은 필수인가요?
0
74
1
프록시 커넥션 객체를 반환할 때 생성하는건가요?
0
74
1
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
2
205
2
JPQL 대신 네이티브 쿼리를 사용해야 하는 경우
0
96
1
@EventListener(ApplicationReadyEvent.class) 관련
0
109
1
트랜잭션 동기화 매니저와 데이터 소스
0
90
1
DB 관련 강의 개설 계획은 없으신건가요?
0
152
2
물리 트랜잭션 과 논리트랜잭션 용어를 맞게 이해한걸까요
0
112
1
스프링 3 버전 이상 rollbackFor 변경된듯요
1
134
1
트랜잭션 전파 질문.
0
104
1
프로젝트 오픈 에러
0
158
1
외부 트랜잭션에서 isNewTransaction이 false로 나오는거에 대해 질문드립니다
0
106
2
같은 스레드를 사용하면 트랜잭션 동기화 매니저는 같은 커넥션을 반환
0
91
1





