하
하이퍼커넥트
February 10, 20251회
Spring Transactional Rollback Deep Dive

간단 소개
Spring 트랜잭션 롤백 동작에 대한 심층 분석 및 Kotlin에서의 예외 처리 고려 사항을 다양한 사례를 통해 설명합니다.
AI Summary
- Unchecked Exception과 롤백 마킹
- Spring은 트랜잭션 중 예외 발생 시 rollbackOn에서 Unchecked 여부를 체크하고, Unchecked일 경우 rollback-only로 마킹합니다.
- Checked Exception은 예상된 예외로 처리하도록 의도되었고, Unchecked Exception은 예상치 못한 예외로 롤백을 시도합니다.
@Transactional의 rollbackFor 설정을 통해 롤백 마킹 설정을 확인할 수 있으며, 기본 설정은 RuntimeException과 Error입니다.
- TransactionInterceptor와 롤백의 상관관계
- 동일 서비스 내에서
@Transactional메서드 호출 시 프록시 객체를 거치지 않아 트랜잭션이 적용되지 않을 수 있습니다. - 예외를 처리하지 않으면 커밋을 못하고 어떤 예외든 명시적으로 롤백합니다.
- 하나의 트랜잭션으로 동작할 때, 예외를 처리하더라도 다른 서비스에서 TransactionInterceptor 동작이 수행되고 Unchecked Exception이 발생하면 롤백 마킹되어 트랜잭션이 롤백됩니다.
- 동일 서비스 내에서
- Kotlin의 UndeclaredThrowableException
- Kotlin에서는 Checked Exception에 대한 throws 제약이 없어 Java와 함께 사용할 때 UndeclaredThrowableException으로 변환될 수 있습니다.
@Throws어노테이션을 사용하여 Kotlin 함수가 예외를 던질 수 있음을 명시하면 UndeclaredThrowableException이 아닌 의도한 예외가 던져져 롤백을 방지할 수 있습니다.
Next Feeds
CAD와 Mesh의 개념과 차이점 / 3세대 Mesh GLTF와 USD 비교
CAD, Mesh 개념 비교 및 3세대 Mesh 포맷인 GLTF, USD의 특징과 활용 방안을 소개하는 글입니다.
CADMeshGLTFUSD디지털 트윈
2025. 2. 9.
현대자동차
NHN Cloud의 보안 가이드를 소개합니다
NHN Cloud는 클라우드 보안 강화를 위해 다양한 보안 가이드를 제공하며, 이를 통해 고객은 안전한 클라우드 환경을 구축할 수 있습니다.
NHN Cloud보안 가이드클라우드 보안보안 책임 공유 모델개인정보보호
2025. 2. 9.
NHN

정적 그만!✋ 은행에 서비스 디스커버리 도입하기
카카오뱅크는 Consul을 활용하여 서비스 디스커버리 시스템을 구축, MSA 전환 및 멀티데이터센터 환경을 효율적으로 관리하고 있습니다.
서비스 디스커버리ConsulMSAAPI Gateway멀티데이터센터
2025. 2. 7.
카카오뱅크

모두를 위한 LLM 애플리케이션 개발 환경 구축 사례
LLM 애플리케이션 개발 환경 구축 사례를 통해 개발 접근성을 높이고 작업 주기를 단축한 경험을 공유합니다.
LLMLangflow프롬프트 엔지니어링RAGLLMOps
2025. 2. 7.
LY Corp
EC2 자동화를 통한 비용 절감: AWS Lambda와 EventBridge 활용법
AWS Lambda와 EventBridge를 활용하여 EC2 인스턴스 자동화를 구현하고 비용을 절감하는 방법을 소개합니다.
EC2AWS LambdaEventBridge자동화비용 절감
2025. 2. 7.
QueryPie
오픈채팅 Lite FE 성능 개선의 모든 것
오픈채팅 Lite FE 성능 개선 사례: 렌더링 최적화, 데이터 처리 개선, 상태 관리 라이브러리 튜닝을 통해 사용자 경험을 향상시킨 과정 분석.
성능 개선렌더링ReactzustandMessage Queue
2025. 2. 7.
카카오