Cold Sequence

구독 할 때마다 타임라인이 새로 생성됨

구독하는 시점과 상관없이 첫번째로 emit 된 데이터부터 읽을 수 있음

ex) Flux.fromIterable(Array.asList("A", "B", "C")

subscribe(data -> Logger.info("data : {}", data) // ABC

subscribe(data -> Logger.info("data : {}", data) // ABC

 

 

Hot Sequence

타임라인이 하나만 존재

구독하는 시점에 따라 구독 시점 이후로 emit 된 데이터만 읽을 수 있음

ex) Flux.fromStream(Stream.of("A", "B", "C").delayElements(Duration.ofSeconds(1)).share()

subscribe(data -> Logger.info("data : {}", data) // A B

TimeUtils.sleep(2000)

subscribe(data -> Logger.info("data : {}", data) // C

* share() : cold 시퀀스를 hot 시퀀스로 변환해줌

반응형

'back > Reactive Java' 카테고리의 다른 글

Reactive 란?  (1) 2023.10.16

+ Recent posts