peter.j
2021. 3. 16. 02:57
복수개의 Publisher를 합칠 수 있다.
1. merge(Flux flux1, Flux flux2)
merge() 메서드는 먼저 도착하는 데이터가 먼저 처리되는 Flux를 반환한다.
즉, flux1과 flux2가 생상하는 데이터들의 순서가 보장되지 않는다.
Flux<User> mergeFluxWithInterleave(Flux<User> flux1, Flux<User> flux2) {
return Flux.merge(flux1, flux2);
}
2. concat(Flux flux1, Flux flux2)
concat() 메서드는 인자로 받는 Flux 객체들의 순서를 보장한다.
Flux<User> mergeFluxWithNoInterleave(Flux<User> flux1, Flux<User> flux2) {
return Flux.concat(flux1, flux2);
}
3. concat(Mono mono1, Mono mono2)
concat() 메서드는 Mono 타입도 인자로 받을수 있다.
이 경우, concat() 메서드는 각 모노가 생산하는 데이터들을 생산하는 Flux를 반환한다.
Flux<User> createFluxFromMultipleMono(Mono<User> mono1, Mono<User> mono2) {
return Flux.concat(mono1, mono2);
}
참고
tech.io/playgrounds/929/reactive-programming-with-reactor-3/Merge
사업자 정보 표시펼치기/접기
1 | g | asdf | 사업자 등록번호 : 123-12-12345 | TEL : 010-111-1111 | Mail : asdf@gmail.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기