Mono에서 value값을 가져오기 위해 block 메소드 사용, block 메소드 사용 시 reactive pipeline에 lock 발생
Flux 를 Iterable 타입으로 변경, blocking이 발생하는 메소드로 reactive pipeline에 lock 발생
package io.pivotal.literx;
//generic imports to help with simpler IDEs (ie tech.io)
import java.util.*;
import java.util.function.*;
import java.time.*;
import io.pivotal.literx.domain.User;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
/**
* Learn how to turn Reactive API to blocking one.
*
* @author Sebastien Deleuze
*/
public class Part10ReactiveToBlocking {
//========================================================================================
// TODO Return the user contained in that Mono
User monoToValue(Mono<User> mono) {
return mono.block();
}
//========================================================================================
// TODO Return the users contained in that Flux
Iterable<User> fluxToValues(Flux<User> flux) {
return flux.toIterable();
}
}