[JAVA] piedra_de_flor

  • 홈
  • 태그
  • 방명록
  • 백엔드 멘토링

kotlin 1

@TransactionalEventListener(AFTER_COMMIT) 제대로 테스트하기

사이드 프로젝트로 레시피 서비스를 만들면서, 이런 요구사항이 생겼다.“회원가입이 완료되면, 이 유저에게 냉장고를 하나 자동으로 만들어 붙여주자.” 도메인적으로는 꽤 자연스러운 흐름인데, 트랜잭션을 생각하기 시작하니까 조금 복잡해진다.냉장고 생성은 부가 기능이다.냉장고 생성이 실패했다고 해서 회원가입까지 롤백되면 안 된다.하지만 회원가입과 냉장고 생성은 연쇄적으로 일어나야 한다.그래서 선택한 게 Spring 이벤트(@TransactionalEventListener) + AFTER_COMMIT + 별도 트랜잭션 조합이었다.구현까진 잘 됐는데, 문제는 그다음이었다.“이걸 테스트하려고 하니까, JPA 슬라이스 테스트, H2, AFTER_COMMIT, 트랜잭션이 서로 싸우기 시작했다…” 이 글은 내가 실제로 겪었..

백엔드 멘토링 2025.12.14
이전
1
다음
더보기
프로필사진

[JAVA] piedra_de_flor

개발 공부 기록

  • 분류 전체보기 (46)
    • 백엔드 멘토링 (37)
    • Java 공부 (5)
    • Programmers (1)
      • Lv1 (1)
      • Lv2 (0)
      • Lv3 (0)
    • 우테코 강의 (1)

Tag

JPA, Test, 회고록, API, 네트워크, 생성자, Lambda, 개선, Java, java8, DTO, Optional, Spring, 실시간, ngrinder, tcp, Firebase, 자바의 신, 객체지향, db,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2026/03   »
일 월 화 수 목 금 토
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

방문자수Total

  • Today :
  • Yesterday :

Copyright © AXZ Corp All rights reserved.

  • Github

티스토리툴바