@TrasactionalEventListener

    @TransactionalEventListener 파헤치기

    @TransactionalEventListener 란? 개요 이미지 엔티티를 DB 에 저장/삭제하는 것과 S3 에 업로드/삭제하는 것의 생명주기를 같게 하고 싶었습니다. 쉽게 말하자면, DB 저장/삭제가 성공한다면 S3 업로드/삭제도 함께 성공하고, 실패한다면 함께 실패해야하는 것입니다. 이런 경우 보통 트랜잭션을 이용하는 것을 쉽게 떠올릴 수 있지만 S3 는 트랜잭션과는 연관이 없으므로 어떻게 해결해야할까 찾아보다가 @TransactionalEventListener 를 공부하고 사용해보게 되었습니다. 참고로 @TransactionalEventListener 와 비슷한 @EventListener 의 경우 event 를 pulish 하는 코드 시점에 event 가 발행됩니다. event 를 발행하는 트랜잭..