본문으로 바로가기

Java Reactor 라이브러리 Mono, Flux개념

category Language/JAVA 2018.03.09 12:20

Reactor란?


Reactor란?

https://projectreactor.io/에서 만든 Java라이브러리로 JVM기반의 non-blocking(논 블록킹) 어플리 케이션을 만들기 위한 라이브러리이다.



1.Flux(플럭스)

flux를 사전에서 찾아보면 '유동', '흐름'이라는 뜻이다.

Flux는 완료된 요청이나 오류가 발생해서 종료된 요청을 비동기 순서로 처리하는 표준 퍼블리셔이다. 그래서 Flux의 값이 될 수 있는 것은 특정 값, 완료 시그널, 에러 이렇게 3가지 이다. 리액티브 스트림 스펙에서 앞에 3가지 신호 타입은 각각 onNext, onComplete, onError 메소드로 처리한다.


예제는 아래와 같다.

1
2
3
4
Flux<String> seq1 = Flux.just("foo""bar""foobar");
 
List<String> iterable = Arrays.asList("foo""bar""foobar");
Flux<String> seq2 = Flux.fromIterable(iterable);
cs

 

flux는 값을 뽑아주는 Iterator(이터레이터)이다.



2.Mono(모노)

Mono는 0 또는 1, 없음 또는 있음 등의 둘중 하나를 퍼블리셔 이다.


1
2
3
4
5
Mono<String> noData = Mono.empty(); 
 
Mono<String> data = Mono.just("foo");
 
Flux<Integer> numbersFromFiveToSeven = Flux.range(53); 
cs



end.





'Language > JAVA' 카테고리의 다른 글

rxjava란?  (0) 2018.03.11
google guava(구아바)란?  (0) 2018.03.09
Java Reactor 라이브러리 Mono, Flux개념  (0) 2018.03.09
java_home version설정  (0) 2018.02.22
java stream max  (1) 2018.02.05
java yyyy-mm-dd hh:mm:ss LocalDateTime으로 바꾸기  (0) 2018.02.05

댓글을 달아 주세요