<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>이메일 on 팀 크루루의 개발 이야기</title>
    <link>https://blog.cruru.kr/keywords/%EC%9D%B4%EB%A9%94%EC%9D%BC/</link>
    <description>Recent content in 이메일 on 팀 크루루의 개발 이야기</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ko-kr</language>
    <lastBuildDate>Thu, 26 Sep 2024 09:02:00 +0000</lastBuildDate>
    <atom:link href="https://blog.cruru.kr/keywords/%EC%9D%B4%EB%A9%94%EC%9D%BC/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>이메일 발송 비동기 적용기</title>
      <link>https://blog.cruru.kr/docs/backend/%EC%9D%B4%EB%A9%94%EC%9D%BC-%EB%B0%9C%EC%86%A1-%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%A0%81%EC%9A%A9%EA%B8%B0-fff1e50d803f813bae2eea918fcf0302/</link>
      <pubDate>Thu, 26 Sep 2024 09:02:00 +0000</pubDate>
      <guid>https://blog.cruru.kr/docs/backend/%EC%9D%B4%EB%A9%94%EC%9D%BC-%EB%B0%9C%EC%86%A1-%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%A0%81%EC%9A%A9%EA%B8%B0-fff1e50d803f813bae2eea918fcf0302/</guid>
      <description>이 글은 우아한테크코스 백엔드 6기 냥인, 명오에 의해 작성되었습니다.
초기 코드의 문제점 link 💡 2줄 요약
기존의 코드는 API 요청 → 이메일 저장 → 이메일 전송 → API 응답의 흐름으로 이루어졌다. 이메일 저장과 전송이 한 트랜잭션에서 이루어져, DB 커넥션을 길게 점유하는 문제가 존재했다. 우리가 원하는 기능은 이메일 발송에 성공했을 때만 발송 내역이 저장되는 것이었다.
아래와 같이 EmailFacade에 두 로직을 한 메서드로 묶고, @Transactional을 적용하였다. 이렇게 하면 이메일 발송 실패 시 이메일 발송 내역 저장 로직이 롤백된다.</description>
    </item>
  </channel>
</rss>
