일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 알고리즘
- 디자인패턴
- 컴퓨터공학
- 프로그래밍
- 데이터과학
- Yes
- 컴퓨터과학
- springboot
- 소프트웨어
- 데이터베이스
- 컴퓨터비전
- 딥러닝
- 네트워크보안
- 자료구조
- 데이터구조
- 버전관리
- 클라우드컴퓨팅
- 빅데이터
- 사이버보안
- 자바스크립트
- 데이터분석
- 네트워크
- I'm Sorry
- 소프트웨어공학
- 프로그래밍언어
- 인공지능
- 머신러닝
- 보안
- 파이썬
- 웹개발
- Today
- Total
목록transactional (2)
스택큐힙리스트
1. 코루틴과 트랜잭션이 충돌하는 이유Spring @Transactional ↔ ThreadLocalJPA 트랜잭션은 현재 스레드에 커넥션·영속성 컨텍스트를 바인딩합니다. 하지만 suspend 함수는 언제든 다른 스레드로 재개(resume)될 수 있어 컨텍스트가 사라지면서 TransactionRequiredException 등이 터집니다.전파 옵션 무력화REQUIRES_NEW처럼 새 트랜잭션을 강제해도, 같은 빈 내부·동일 코루틴 컨텍스트라면 프록시가 건너뛰어 한 트랜잭션으로 묶이는 사례가 잦습니다.동시성 확산async {} · withContext(Dispatchers.Default) 등으로 트랜잭션을 복수 스레드에 퍼뜨리면 데드락·커넥션 고갈로 직행합니다.2. Spring Boot 3.x 이후 지원 ..
1️⃣ 트랜잭션 전파(Propagation)란?스프링 AOP 프록시가 현재 실행 중인 트랜잭션을 “새로 만들지, 이어받지, 잠깐 끊을지” 결정하는 규칙입니다. 전파 옵션 의미 (한 줄 요약) REQUIRED (기본)❝있으면 참여, 없으면 새로 생성❞ – 80 % 이상 이걸로 OKREQUIRES_NEW❝무조건 새 트랜잭션❞ – 외부 트랜잭션과 독립 커밋/롤백NESTED❝논리적 내부 트랜잭션❞ – Savepoint 기반 부분 롤백 가능SUPPORTS / NOT_SUPPORTED❝있으면 따라가고 / 완전히 비트랜잭션❞MANDATORY / NEVER❝반드시 있어야 함 / 있으면 안 됨❞ – Assertion 용 실전 팁REQUIRES_NEW는 알림 메일·로그 저장처럼 메인 로직 실패와 분리하고 싶을 때.NES..