Transactional + DDD
·
devlog/TIL
2019년 12월 16일에 notion에 작성한 글을 옮겨 왔다.@Transactional + DDDfun requestRefund(request: RefundRequest): RefundResponse { val paymentInfo = 결제클라이언트.get결제정보(request.orderNo) return refund(refundDomainService.register(request, paymentInfo))}보통 외부의 호출이 일어날떄 transaction을 분리하는 경우는 다음과 같다.transaction이 이미 열렸고, 외부 호출을 하는 경우 timeout 같은 에러 발생 시, 지연된 시간만큼 transaction을 물고 있기 때문에 좋지 않다. → db lock 발생 가능 (그런데 ..