반응형

 

fromFuture, CompletableFuture

CompletableFuture 객체를 Mono 객체로 변환하는 mono의 메서드

- CompletableFuture는 JAVA 8에서 추가된 비동기 처리

- CompletableFuture를 통해 비동기식 코드를 쉽게 작성하고, Future나 Callback과 같은 복잡한 동기화 코드를 간소화할 수 있다.


이때 Mono는 Spring Framework에서 제공하는 리액티브 프로그래밍 라이브러리 중 하나이며 Mono 객체는 0 또는 1개의 데이터 항목을 발행할 수 있다.

결국 Mono.fromFuture()는 CompletableFuture 객체를 Mono 객체로 변환하고 CompletableFuture의 비동기 처리 결과를 Mono로 발행할 수 있다.

이 때, Mono는 CompletableFuture의 처리 결과를 발행하거나, 처리 중에 예외가 발생하면 Mono의 에러 핸들러를 호출하여 예외를 처리한다.

 

CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> "Hello, world!");
Mono<String> mono = Mono.fromFuture(future);

mono.subscribe(System.out::println); // "Hello, world!" 출력

 

위의 코드에서는 CompletableFuture.supplyAsync() 메서드를 사용하여 "Hello, world!" 문자열을 반환하는 CompletableFuture 객체를 생성 후, Mono.fromFuture() 메서드를 사용하여 CompletableFuture 객체를 Mono 객체로 변환한다.


마지막으로, subscribe() 메서드를 사용하여 Mono의 결과 "Hello, world!" 문자열을 출력한다.

반응형