Mono
Spring Webflux 의 Reactive Stream 를 구현하고 있는 Reactor 는 Mono
와 Flux
이다.
그 중 Mono
는 0 ~ 1 개의 데이터를 전달 하는 역할을 한다.
Mono 인스턴스 생성 방식
Just
.just()
는 구독하는 순간. 특정 값을 바로 반환 emit
하는 함수이다.
- 인스턴스화 되는 시점(
instantiation time
) 에 캡쳐되는 값을 반환한다. (eager
방식과 유사)
Defer
.defer()
는 Mono Supplier
를 인자로 받아 구독하는 순간, 해당 Supplier 를 구독하여 emit
하는 함수이다.
.just()
와의 차이점은 해당 값이 인스턴스화 되는 시점 은 구독하는 순간 이다.
Callable
.fromCallable()
는 Callable Supplier
를 인자로 받아 Mono Supplier
인스턴스를 생성하는 함수이다.
- 생성된
Mono Supplier
를 구독하는 순간, Callable Supplier
를 통해 단순 값 을 제공받아 emit
한다.
출처