self-invocation
같은 클래스 내부 호출에서 @Transactional이 조용히 무시되는 self-invocation 문제의 원인과, REQUIRES_NEW를 안전하게 쓰는 해결 방법을 정리합니다.
같은 클래스 내부 호출에서 @Transactional이 조용히 무시되는 self-invocation 문제의 원인과, REQUIRES_NEW를 안전하게 쓰는 해결 방법을 정리합니다.
자동매매 프로젝트를 구성하며 Spring MVC와 WebFlux의 스레드 모델 차이를 비교하고, WebFlux를 선택하게 된 이유를 정리합니다.
실무 프로젝트 전반에 REQUIRES_NEW가 남용되던 원인을 프록시 패턴과 롤백 시점 이해 부족에서 찾아 분석한 경험을 공유합니다.
Spring이 @Component, @Service 같은 어노테이션을 인식하는 원리와 Target, Retention 등 메타 어노테이션의 의미를 정리합니다.
같은 서비스 안에서 @Transactional 메서드를 자기 호출해 롤백이 안 되는 문제를 실제 운영 코드에서 겪고 해결한 과정을 기록합니다.
같은 서비스 안에서 @Transactional 메서드를 자기 호출하면 프록시가 적용되지 않아 롤백이 안 되는 원인을 정리합니다.
@Transactional 안에서 try ~ catch로 예외를 감쌀 때 롤백이 동작하지 않는 원인을 TransactionAspectSupport 내부 동작으로 분석하고 해결 방법을 정리합니다.
@JsonIgnoreProperties(ignoreUnknown=true) 어노테이션으로 정의되지 않은 JSON 프로퍼티를 무시해 역직렬화 오류를 방지하는 방법을 정리합니다.
Spring이 제공하는 HTTP 클라이언트 RestTemplate의 개념과 주요 메서드, 실전 사용 예시를 정리합니다.
여러 개의 트랜잭션 매니저 빈이 등록된 환경에서 테스트 코드가 NoUniqueBeanDefinitionException을 던진 원인과 해결 과정을 정리합니다.
트랜잭션의 ACID 성질과 @Transactional의 propagation, isolation, rollbackFor 등 주요 옵션을 정리합니다.