@Async(2)
-
예외 발생시 이벤트 처리하기
EATceed 프로젝트를 진행하며, 회원가입 API에 아래와 같은 요구사항이 추가되었습니다.이메인 인증 미완료시 이메일 재발송하기 EATceed에서는 이메일 인증을 완료하지 않은 사용자가 회원가입을 다시 시도할 경우, 이메일을 재전송하고, "이미 존재하는 이메일입니다. 이메일 인증을 해주세요"와 같은 응답을 반환해야합니다. 이메일 재전송 API를 만들 수도 있었지만 사용자 경험 저하 및 AOS 측 이메일 저장 문제로 인해 회원가입 API에서 "이메일 재전송"을 추가하기로 하였습니다. 이벤트를 사용해서 해결하기기존에 AlreadyEmailException이 터지면 @RestControllerAdvice를 사용해 특정 예외 에 맞는 응답을 반환하고 있었습니다.따라서, 응답에 관한 요구사항은 해결되었습니다...
2024.09.11 -
Spring Event와 @Aysnc를 사용해 회원가입 개선
이번 포스팅에서는 기존에 회원가입 코드를 Spring Event와 @Async를 사용해서 개선하는 과정을 포스팅하려합니다. 필요성 - Event 저희 서비스의 회원가입 기능안에는 해당 회원이 회원가입을 할 수 있는 유저인가 확인, 특정 이메일로 인증 메일 보내기 그리고 회원 정보 생성으로 이루어져있습니다. 위와 같이 코드를 작성하게 되면, "메일 보내기"와 "회원가입"의 의존성이 강해집니다.의존성이 강해진다는 것은 재사용성이 낮아지고 단위 테스트가 어려워집니다. 특히, 이메일 보내기는 여러 도메인에서 사용될 가능성이 높은 경우이기 때문에 Event를 사용해서 회원가입 서비스에서 이메일 서비스에대한 의존성을 제거하여 재사용성을 높인다는 것이 큰 이점이라 판단했습니다. 필요성 - 비동기 처리비동기 처리 전..
2024.06.09