답변 2
0
0
안녕하세요?
1부에서 설명 드린 Hot Sequence의 특징만으로 실제로 어떻게 사용하는지 감이 잘 오지 않으실텐데요.
나중에 2부 Operator 관련 강의에서 Hot Sequence 상황에서 사용할 수 있는 autoConnect(), refCount() 같은 Operator를 설명 드릴 예정입니다.
그때 아마 조금 더 감이 오실 것 같구요.
참고로 autoConnect()나 refCount() Operator를 사용할 수 있는 상황을 간단하게 말씀드리면,
Publisher가 emit한 데이터를 구독할 때, 구독이 두 번 발생하기 전까지는 데이터가 emit 되지 않는 상황 즉, 구독이 두 번 발생하는 시점에 비로소 두 개의 Subscriber에게 데이터가 전달되는 상황이 필요할 때, 아래와 같은 코드처럼 구현할 수 있는데요.Flux<Data> serverDataStream = webClient.get()
.uri("/streaming-data")
.retrieve()
.bodyToFlux(Data.class)
.publish()
.refCount(2);
serverDataStream.subscribe(client1::processData);
// ...
serverDataStream.subscribe(client2::processData);
이런식으로 클라이언트 쪽에서 여러 구독자가 데이터를 전달 받아서 각각 다른 처리 작업을 할 수 있습니다.
아마도 2부와 3부까지 다 공부하셔야 Hot Sequence에 대해서 조금 더 이해가 되실거라고 생각합니다.
감사합니다.
네, 지금 나름 열심히 만들고 있긴한데 기다리게 해서 죄송합니다. ^^;
현재 후반부 작업 중인데 조금만 기다려 주시면 감사드릴게요!