ConnectableObservable을 사용하여 One publicher-Many subscribers를 구현할 때, onError* 사용 시 subscriber마다 서로 다른 에러 처리 로직을 사용할 수 있다.
이 때, publisher 단계에서 에러가 발생하면 원치 않는 Subscriber의 에러 처리 코드가 실행될 수 있음을 유의하여야 한다.
아래와 같이 한 Publisher에 세 개의 Subscriber가 있을 때, observer 마다 서로 다른 에러 처리 로직을 가지고 있고, 자신만의 방법으로 에러를 처리하기를 원할 수 있다
source (ConnectableObservable) <- observer1, observer2, observer3
이 때 source 에서 에러가 발생하면 이 에러는 observer의 onError* 로 흐르게 된다. 이를 원치 않는다면, observer에서 flatMap-Observable.just를 사용하여 별도의 내부 파이프라인을 정의해야 한다.
'Java > RxJava' 카테고리의 다른 글
RxJava2 스케쥴러 쓰레드 기아 현상 (Scheduler Thread Starvation Problem) (0) | 2020.06.04 |
---|---|
RxJava2 병렬 처리 (0) | 2020.05.13 |
RxJava2 요소에 따라 파이프라인 다르게 적용하기 (0) | 2020.05.12 |
RxJava2 오퍼레이터 - do* 시리즈와 실행 순서 (0) | 2020.04.24 |
subscribeOn, observeOn (0) | 2020.04.21 |