검토 이유 (Java, SpringBoot) 메일 서비스에서 발송 실패에 대한 처리가 필요했다. 해당 부분 Event를 사용하려고 했는데 팀장님께서 다른 곳에서는 Future를 사용한다고 하셔서 검토를 해보게 되었다. (InfraStructure에서 Domain Event를 발행하면 추적이 어려울 것 같다고 하셨다!) CompletableFuture 이해 Java에서 비동기 작업의 처리 결과를 반환받을 수 있는 방법이 없을까? Java 5 버전에는 Future라는 인터페이스가 추가되면서 비동기 작업에 대한 결과를 반환 받을 수 있게 되었다. 단, 아래의 한계가 있었다. 외부에서 완료시킬 수 없다. 블로깅 코드(get)를 통해서만 이후의 결과를 처리할 수 있다. 여러 Future를 조합할 수 없다. 예외 ..