본문 바로가기

@Async2

MessageSource와 Locale을 활용한 다국어 에러 처리(with Spring boot) 들어가기 현재 진행하는 프로젝트는 한국인만이 아니라 외국인 대상으로도 출시를  목표로 하고 있다. 그렇기에 평소에 하던 것처럼 한국어로만 앱을 구성하는 것이 아닌, 다국어 버전으로 작성해야 한다. 에러 메시지를 사용자에게 전달할 때, 언어에 따라 분기점을 만드는 것을 생각했지만, 이는 복잡성을 증가시킬 것이다. 이런 경우를 위해 Spring boot에서는  'MessageSource' 객체와 'Locale' 객체를 활용한 다국어 기능을 지원해 준다. MessageSource는 Spring 프레임워크에서 다국어 지원을 위한 메시지 처리를 담당하는 인터페이스이며, 이를 통해 다양한 언어에 맞는 메시지를 쉽게 관리하고, 사용자의 Locale에 해당하는 메시지를 반환해준다.Locale은 특정 언어나 국가, 지역.. 2024. 9. 19.
Spring boot - @Async를 통한 메서드 비동기 실행 및 주의사항 이전 글(https://khdscor.tistory.com/131)에서 Spring boot에서 gmail smtp 서버를 통해 메일 전송 기능을 구현하였는데, 응답 시간이 오래 걸리는 것을 확인하였다.대략 4초가 걸렸는데, 사용자가 응답을 받는 데까지 기다리는 시간이 오래 걸리기 때문에 좋지 못한 상황이다. 그런데, 대부분의 사이트에서 인증 메일을 보낼 때는 대기 없이 바로 인증 메일을 전송했다는 응답을 받는다. 어떻게 이럴 수 있나 찾아보다가 @Async 어노테이션을 통해 특정 메서드를 비동기 방식으로 진행할 수 있다는 것을 알게 되었다.   @Async 어노테이션이 추가된 메서드는  별도의 스레드에서 실행되므로, 사용자는 해당 메서드가 종료되기 전에 응답을 받을 수 있고, 비동기로 동작하는 메서드는.. 2024. 8. 29.