반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프로그래밍언어
- 머신러닝
- 빅데이터
- 컴퓨터공학
- 데이터과학
- 데이터베이스
- 딥러닝
- 컴퓨터과학
- 컴퓨터비전
- 클라우드컴퓨팅
- 네트워크보안
- 소프트웨어공학
- 자바스크립트
- 소프트웨어
- 알고리즘
- 자료구조
- 버전관리
- 네트워크
- 사이버보안
- 데이터분석
- 보안
- I'm Sorry
- springboot
- 프로그래밍
- 파이썬
- 인공지능
- 디자인패턴
- Yes
- 웹개발
- 데이터구조
Archives
- Today
- Total
목록CoroutineContext (1)
스택큐힙리스트
Kotlin 코루틴에서 트랜잭션 전파 이슈 잡기
1. 코루틴과 트랜잭션이 충돌하는 이유Spring @Transactional ↔ ThreadLocalJPA 트랜잭션은 현재 스레드에 커넥션·영속성 컨텍스트를 바인딩합니다. 하지만 suspend 함수는 언제든 다른 스레드로 재개(resume)될 수 있어 컨텍스트가 사라지면서 TransactionRequiredException 등이 터집니다.전파 옵션 무력화REQUIRES_NEW처럼 새 트랜잭션을 강제해도, 같은 빈 내부·동일 코루틴 컨텍스트라면 프록시가 건너뛰어 한 트랜잭션으로 묶이는 사례가 잦습니다.동시성 확산async {} · withContext(Dispatchers.Default) 등으로 트랜잭션을 복수 스레드에 퍼뜨리면 데드락·커넥션 고갈로 직행합니다.2. Spring Boot 3.x 이후 지원 ..
개발
2025. 7. 18. 20:47