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

 

Merge - Reactive Programming with Reactor 3

Explore this playground and try new concepts right into your browser

tech.io

wiki.sys4u.co.kr/pages/viewpage.action?pageId=7766994#id-%EC%97%B0%EC%8A%B5%EB%AC%B8%EC%A0%9C%EB%A1%9C%EB%B0%B0%EC%9B%8C%EB%B3%B4%EB%8A%94Reactor-5.Merge

 

http://wiki.sys4u.co.kr/pages/viewpage.action?pageId=7766994#id-%EC%97%B0%EC%8A%B5%EB%AC%B8%EC%A0%9C%EB%A1%9C%EB%B0%B0%EC%9B%8C%EB%B3%B4%EB%8A%94Reactor-5.Merge

페이지 … PLATEER OPEN WIKI Architectures 리액티브 프로그래밍(Reactive Programming) 배너의 맨 끝으로 배너의 맨 처음으로 연습문제로 배워보는 Reactor 메타 데이터의 끝으로 건너뛰기 작성자 : 알 수 없는

wiki.sys4u.co.kr

 

사업자 정보 표시펼치기/접기
1 | g | asdf | 사업자 등록번호 : 123-12-12345 | TEL : 010-111-1111 | Mail : asdf@gmail.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기