게시글
질문&답변
2023.12.10
TransactionSynchronizationMaganger 질문
chat gpt에게 질문해보니 아래와 같이 답변하는군요. 커넥션 식별 방법:스레드 로컬(Thread Local) 저장소: TransactionSynchronizationManager는 스레드 로컬 저장소를 사용하여 현재 스레드의 트랜잭션 컨텍스트에 대한 정보를 저장합니다. 이는 각 스레드가 고유한 트랜잭션 상태를 가지고 있음을 보장합니다.리소스 바인딩: 트랜잭션과 관련된 리소스(예: 데이터베이스 커넥션)는 스레드 로컬에 "리소스 맵" 형태로 바인딩됩니다. 이 맵은 데이터 소스와 연관된 커넥션 객체를 저장합니다.트랜잭션 식별자: TransactionSynchronizationManager는 현재 트랜잭션에 대한 유니크한 식별자를 관리할 수 있습니다. 이를 통해 다수의 트랜잭션이 중첩되거나 복잡한 시나리오에서도 각 트랜잭션을 구분할 수 있습니다.커넥션 조회: 서비스나 리포지토리가 데이터베이스 작업을 수행할 때, TransactionSynchronizationManager는 해당 스레드의 리소스 맵을 조회하여 이미 바인딩된 커넥션이 있는지 확인합니다. 존재하는 경우, 그 커넥션을 재사용합니다.
- 0
- 2
- 291
질문&답변
2023.11.26
Circuit Breaker의 적용처 판단
생각해보니, 특정 유저에 대해서는 api 호출이 계속 에러가 날 테지만 모든 유저에 대해서는 그렇지 않겠네요. 자문자답으로 해결됐습니다!
- 1
- 2
- 290