inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

김찬님의 게시글

김찬 김찬

@dkcmsadkcmsa1041

수강평 작성수
1
평균평점
5.0

게시글 2

질문&답변

TransactionSynchronizationMaganger 질문

chat gpt에게 질문해보니 아래와 같이 답변하는군요. 커넥션 식별 방법: 스레드 로컬(Thread Local) 저장소 : TransactionSynchronizationManager 는 스레드 로컬 저장소를 사용하여 현재 스레드의 트랜잭션 컨텍스트에 대한 정보를 저장합니다. 이는 각 스레드가 고유한 트랜잭션 상태를 가지고 있음을 보장합니다. 리소스 바인딩 : 트랜잭션과 관련된 리소스(예: 데이터베이스 커넥션)는 스레드 로컬에 "리소스 맵" 형태로 바인딩됩니다. 이 맵은 데이터 소스와 연관된 커넥션 객체를 저장합니다. 트랜잭션 식별자 : TransactionSynchronizationManager 는 현재 트랜잭션에 대한 유니크한 식별자를 관리할 수 있습니다. 이를 통해 다수의 트랜잭션이 중첩되거나 복잡한 시나리오에서도 각 트랜잭션을 구분할 수 있습니다. 커넥션 조회 : 서비스나 리포지토리가 데이터베이스 작업을 수행할 때, TransactionSynchronizationManager 는 해당 스레드의 리소스 맵을 조회하여 이미 바인딩된 커넥션이 있는지 확인합니다. 존재하는 경우, 그 커넥션을 재사용합니다.

좋아요수
0
댓글수
2
조회수
396

질문&답변

Circuit Breaker의 적용처 판단

생각해보니, 특정 유저에 대해서는 api 호출이 계속 에러가 날 테지만 모든 유저에 대해서는 그렇지 않겠네요. 자문자답으로 해결됐습니다!

좋아요수
1
댓글수
2
조회수
457